Creating a Custom OAuth App
Using OAuth
Use OAuth to enable other users to access their own data.
Create an App
For this step you need a developer account. You can follow the procedure below to register an app and obtain the OAuth client credentials, the client Id and client secret:
- Log into your Smartsheet developer account and click Account -> Developer Tools -> Create New App.
- Enter a name, description, and other information to be displayed to users when they log in to grant permissions to your app.
-
If you are making a desktop application, set the Redirect URL to http://localhost:33333 or a different port number of your choice.
If you are making a Web application, set the Redirect URL to a page on your Web app you would like the user to be returned to after they have authorized your application.
Authenticate to Smartsheet from a Desktop Application
After setting the following connection properties, you are ready to connect:
- OAuthClientId: Set this to the App client id in your app settings.
- OAuthClientSecret: Set this to the App secret in your app settings.
- CallbackURL: Set this to the App redirect URL in your app settings.
- InitiateOAuth: Set this to GETANDREFRESH. You can use InitiateOAuth to avoid repeating the OAuth exchange and manually setting the OAuthAccessToken connection property.
- Extracts the access token from the callback URL and authenticates requests.
- Refreshes the access token when it expires.
- Saves OAuth values in OAuthSettingsLocation to be persisted across connections.
Authenticate to Smartsheet from a Web Application
To obtain the access token, set the following connection properties:
- OAuthClientId: Set this to the App client id in your app settings.
- OAuthClientSecret: Set this to the App secret in your app settings.
When connecting via a Web application, or if the driver is not authorized to open a browser window, you need to exchange a verifier code for the OAuthAccessToken:
- Call GetOAuthAuthorizationURL. The stored procedure returns the URL to the OAuth endpoint.
- Log in and authorize the application. You are redirected back to the callback URL.
- Extract the verifier code from the "code" query string parameter of the CallbackURL and call GetOAuthAccessToken.