Power BI OAuth2 Account

Overview

Use this account type to connect Microsoft Power BI Snaps with the Power BI REST APIs using OAuth2 authorization.


Power BI OAuth2 account settings

Prerequisites

  • A valid Azure application with all the required API permissions.
  • A valid client ID and client secret.

Required scopes

The following table lists the scope that each operation requires:

Operation Scope
Add Dashboard Content.Create
Clone Tile Dashboard.ReadWrite.All
Get Dashboard Dashboard.ReadWrite.All or Dashboard.Read.All
Get Tiles Dashboard.ReadWrite.All or Dashboard.Read.All
Get Dataset Dataset.ReadWrite.All or Dataset.Read.All
Get Datasources Dataset.ReadWrite.All or Dataset.Read.All
Get Direct Query Refresh Schedule Dataset.ReadWrite.All or Dataset.Read.All
Get Gateway Datasources Dataset.ReadWrite.All or Dataset.Read.All
Get Parameters Dataset.ReadWrite.All
Get Refresh History Dataset.ReadWrite.All or Dataset.Read.All
Get Refresh Schedule Dataset.ReadWrite.All or Dataset.Read.All
Update Datasources Dataset.ReadWrite.All
Update Direct Query Refresh Schedule Dataset.ReadWrite.All
Update Parameters Dataset.ReadWrite.All
Update Refresh Schedule Dataset.ReadWrite.All
Bind To Gateway Dataset.ReadWrite.All
Delete Dataset Dataset.ReadWrite.All
Get Datasource Dataset.ReadWrite.All or Dataset.Read.All
Get Datasource Status Dataset.ReadWrite.All
Get Datasource Users Dataset.ReadWrite.All or Dataset.Read.All
Get Gateway Dataset.ReadWrite.All or Dataset.Read.All
Update Datasource Dataset.ReadWrite.All
Add Datasource User Dataset.ReadWrite.All
Get Groups Workspace.Read.All or Workspace.ReadWrite.All
Get Import Dataset.ReadWrite.All or Dataset.Read.All
Post Import Dataset.ReadWrite.All
PostDataset Dataset.ReadWrite.All
Datasets PostRows Dataset.ReadWrite.All
Datasets PutTable Dataset.ReadWrite.All
Reports - Get Datasources Report.ReadWrite.All or Report.Read.All
Get Report Report.ReadWrite.All or Report.Read.All
Reports - Update Datasources Reports.ReadWrite.All
Update Report Content Report.ReadWrite.All
Clone Report Content.Create
Delete Report Report.ReadWrite.All

Account settings

Note: Learn about the common controls in the Snap settings dialog.
Field/Field set Description

Label*

String

Required. Specify a unique name for the account.

Default value: N/A

Example: Power BI OAuth2 Production

Client ID*

String

Required. Enter the client ID associated with your application in the Azure portal. You can create the client ID as advised by your application provider.

Default value: N/A

Example: ab123456-c78d-9012-3456-7890ef12g345

Client secret*

String

Required. Enter the client secret associated with your application in the Azure portal. You can create the client secret as advised by your application provider.

Default value: N/A

Example: myclientsecret1234

Access token

String

Auto-generated after authorization. The token that SnapLogic uses to make API requests on behalf of the user associated with the client ID.

Default value: N/A

Refresh token

String

Auto-generated after authorization. The refresh token associated with your account. If the refresh token is stored, the access token can be refreshed automatically before it expires.

Default value: N/A

Access token expiration

Integer

Auto-generated after authorization. The access token expiration value, in seconds.

Default value: N/A

Example: 1606999804

Header authenticated

Checkbox

Select this checkbox to indicate that the endpoint uses bearer header authentication.

Default value: Deselected

OAuth2 Endpoint*

String

Required. Enter the URL of the endpoint that authorizes the application.

Default value: N/A

Example: https://login.microsoftonline.com/yourcompany.onmicrosoft.com/oauth2/authorize

OAuth2 Token*

String

Required. Enter the URL of the endpoint that retrieves the token for an authenticated account.

Default value: N/A

Example: https://login.microsoftonline.com/yourcompany.onmicrosoft.com/oauth2/token

Token endpoint config

Use this fieldset to provide custom properties for the OAuth2 token endpoint. Click the + or - icons to respectively add or remove configuration rows.

This field set contains the following fields:

  • Token endpoint parameter
  • Token endpoint value

Token endpoint parameter

String

Required. Enter the token endpoint parameter.

Default value: N/A

Example: response-type

Token endpoint value

String

Required. Enter the value associated with the token endpoint parameter.

Default value: N/A

Example: code

Auth endpoint config

Use this fieldset to provide custom properties for the OAuth2 authorization endpoint. Click the + or - icons to respectively add or remove configuration rows.

This field set contains the following fields:

  • Auth endpoint parameter
  • Auth endpoint value

Auth endpoint parameter

String

Required. Enter the authorization endpoint parameter.

Default value: N/A

Example: scope

Auth endpoint value

String

Required. Enter the value associated with the authorization endpoint parameter.

Default value: N/A

Example: offline_access app.Read.All

Auto-refresh token

Checkbox

Select this checkbox to refresh the access token automatically using the refresh token. If you deselect this checkbox, the access token expires and is not refreshed automatically.

Default value: Deselected

Authorize

Button

Click this button to authorize the account using the credentials that you provided in the Client ID, Client secret, OAuth2 Endpoint, and OAuth2 Token fields. We recommend that you click this button when you create the account for the first time.

Refresh

Button

Click this button to refresh the account manually.

Click Apply to save the account settings.

Troubleshooting

Error Cause Resolution
General communication error The pipeline aborted because of connection issues. Check the network and account settings.
One or more required field is blank

You clicked Authorize in the account dialog, but one or more of the following fields is blank:

  • Label
  • Client ID
  • Client secret
  • OAuth2 Endpoint
  • OAuth2 Token

Enter valid details in the following fields and click Authorize:

  • Label
  • Client ID
  • Client secret
  • OAuth2 Endpoint
  • OAuth2 Token
Authorization failed

You clicked Apply after an authorization attempt failed, so the following fields are empty:

  • Access token
  • Refresh token
  • Access token expiration

Enter valid details in the following fields and click Authorize:

  • Label
  • Client ID
  • Client secret
  • OAuth2 Endpoint
  • OAuth2 Token