Creating the Data Source Name
This section describes how to edit the DSN configuration and then authenticate and connect to Marketo APIs.
DSN Configuration
You can use the Microsoft ODBC Data Source Administrator to edit the DSN configuration. Note that the installation process creates a both a user DSN and a system DSN, as described in Installing the Connector.
Note: The connector stores connection information in the Windows registry. To ensure that the connector can write to the registry, either run Power BI as an administrator or use a User DSN for your connection instead of a System DSN.
User DSN
Complete the following steps to edit the DSN configuration:
- Select Start > Search, and enter ODBC Data Sources in the Search box.
- Choose the version of the ODBC Administrator that corresponds to the bitness of your Power BI Desktop installation (32-bit or 64-bit).
- Select the system data source and click Configure.
- Edit the information on the Connection tab and click OK.
System DSN
Configure the system DSN the same way as the user DSN, except you will need to switch to the System DSN tab before performing Step 3.
If you're using Power BI's On-Premises Data Gateway with Standard mode, you must use the system DSN.
You must also specify a valid location for OAuthSettingsLocation (a path where OAuth credentials are locally stored to avoid repeated OAuth prompts).
This is because the Standard mode runs on service mode and can only access permitted locations, such as C:\Windows\ServiceProfiles\PBIEgwService\AppData\Local\Microsoft\On-premises data gateway.
Connecting to Marketo
Marketo supports two APIs: REST and SOAP. To specify the API to be used, configure the Schema property to either REST or SOAP.
REST API
The REST API uses OAuth to authentication to validate the user's access. To set up access to Marketo via the REST API:- Create a custom service.
- Obtain the appropriate OAuth credentials.
- Configure the connection variables.
Creating a Custom Service
This procedure creates a new role with REST API privileges, assigns that role to an existing or new user, and creates a new service. It must be executed by a user with Admin privileges.- Navigate to the Marketo application's Admin area.
- Navigate to the Security section.
- Click Users & Roles.
- Create a new role for API Access:
- Select the Roles tab.
- Click New Role.
- Specify a Role Name and select Role permissions. Specify Access API permissions that are specific to the REST API.
- Assign or create a new User to execute API Access:
- Select the Users tab.
- To assign a new user the role you just created, click Invite New User.
- Enter the new user information, and assign them the role you just created with REST API access. To denote the user as an API Only user, select the API Only option.
- Create the new service:
- Navigate to Admin > Integration and click the LaunchPoint option.
- Click New Service.
- Specify the Service Type of Custom.
- Enter a display name and description for the service.
- Assign the user you just created, to the service.
Marketo creates a new REST API service designed for connecting and authenticating to Marketo. It also generates the OAuth-based authentication credentials required for validating user access to the REST API.
Obtaining OAuth Credentials
To obtain and record the new service's OAuth credentials, return to the Marketo Admin area and navigate to the LaunchPoint option.
Click the View Details link for the service you just created. Marketo displays a window that shows the authentication credentials. These credentials provide the values for OAuthClientId and OAuthClientSecret.
Setting Connection Variables
After you have set the following connection variables, you are ready to connect via the REST API:- Schema: REST.
- OAuthClientId: The OAuth Client ID associated with your custom service.
- OAuthClientSecret: The OAuth Client Secret associated with your custom service.
- RESTEndpoint: The URL of the REST Web service endpoint, as found in the Admin area. Navigate to the REST API Integration > Web Services section to find this URL. Leave Identity Endpoint blank.
SOAP API
After you have set the following connection variables, you are ready to connect via the SOAP API:- Schema: SOAP.
- UserId: The client access ID, found in the Integration section of the Marketo Admin SOAP API panel.
- EncryptionKey: The Marketo SOAP API Encryption Key, generated on the Admin page of the Marketo website.
- SOAPEndpoint: The URL of the SOAP Web service endpoint, provided on the Admin page of the Marketo website.