Topics Map > Technology > Denodo
Denodo - Connecting to a Salesforce.com API
This article provides step-by-step instructions on how to connect to a Salesforce.com API data source in Denodo.
Before creating a Salesforce data source in Denodo, you have to set up a connected application in Salesforce.
There are 2 methods to authenticate - web server flow and username and password.
Web Server Flow
This authentication flow provides one important security benefit over the username and password flow; Denodo is never exposed to the credentials of the user account of Salesforce. Instead, it just knows the credentials of the registered application.
- Enter a descriptive Name with no spaces.
NOTE: Names will automatically be converted to lowercase. - For Authentication, select Web Server.
- Enter the Client identifier and Client secret. These are the Consumer Key and Consumer Secret of the connected app in Salesforce.
- Instead of individually filling in the following fields, select Launch the OAuth 2.0 credentials wizard to help you obtain these credentials.
NOTE: If this option is inactive or grayed out, go to the upper right and select Tools. Then select OAuth credentials wizards and select OAuth 2.0 wizard. - Enter the authentication details.
- For Token endpoint URL, enter: https://login.salesforce.com/services/oauth2/token.
- For Authorization server URL, enter: https://login.salesforce.com/services/oauth2/authorize.
- For Redirect URI, leave the Redirect URI as the default selected, if you are connecting to Dev or QA (assuming you included all three when you created the Box app).
NOTE: If you only added one Redirect URI and it is not for the environment you are creating the data source in, you can go back to the Box app and add more Redirect URIs.
NOTE: If you are connecting to production, select Other and enter https://datahub.uillinois.edu/oauth/2.0/redirectURL.jsp. - Generate the authorization URL.
- Expand the 2. Generate the authorization URL section.
- Select Generate to generate the authorization URL.
- Select Open URL next to the generated Authorization URL.
NOTE: you may need to allow access to the application at this step. - On the Virtual DataPort OAuth 2.0 Credentials Wizard webpage, copy the URL.
- Paste the authorization response URL.
- Return to the Denodo OAuth 2.0 credentials wizard.
- Expand the 3. Paste the authorization response URL section.
- Paste the URL into the Authorization response URL field.
- Obtain the OAuth 2.0 credentials.
- Expand the 4. Obtain the OAuth 2.0 credentials section.
- Select OAuth 2.0 credentials.
NOTE: A notification will appear notifying you that the OAuth2.0 credentials were successfully obtained. - Select Copy the credentials to the clipboard.
NOTE: Paste to a convenient, easily accessible location (such as Notepad) in case the Access token and Refresh token are not automatically filled out in the data source configuration. The copied credentials include client identifier, client shared secret, access token, and refresh token. - Select OK.
- For Base URL, enter the URL of the Salesforce instance to access.
- Enter the version of the Salesforce REST API version to use. This has to be something like “v41.0”. Click Get latest version to send a request to Salesforce to obtain the latest version of the API.
- Select the Delegate GROUP BY option to push down the GROUP BY clause to Salesforce. Take into account that Salesforce limits to 2,000 the number of rows a query with GROUP BY can return.
- Click Save to create the data source.
Username and Password Flow
NOTE: Although the connection is encrypted with https, this OAuth authentication flow passes the user’s credentials back and forth. Use it only if the Web Server authentication flow is not possible.
- Enter a descriptive Name with no spaces.
NOTE: Names will automatically be converted to lowercase. - For Authentication, select Username and password.
- Enter the Client identifier and Client secret. These are the Consumer Key and Consumer Secret of the connected app in Salesforce.
- Enter the User identifier and User password. These are the credentials of the Salesforce user account.
- Enter the Security token of this Salesforce account.
- Enter the version of the Salesforce REST API version to use. This has to be something like “v41.0”. Click Get latest version to send a request to Salesforce to obtain the latest version of the API.
- Select the Delegate GROUP BY option to push down the GROUP BY clause to Salesforce. Take into account that Salesforce limits to 2,000 the number of rows a query with GROUP BY can return.
- Click Save to create the data source.