wrschneider
wrschneider

Reputation: 18770

Set Power BI datasource credentials using REST API, with longer-lived token

I am able to use this REST API call to set datasource credentials in Power BI with an OAuth2 access token. e.g.,

{
  "credentialDetails": {
    "credentialType": "OAuth2",
    "credentials": "{\"credentialData\":[{\"name\":\"accessToken\", \"value\":\"eyJ0....fwtQ\"}]}",
    "encryptedConnection": "Encrypted",
    "encryptionAlgorithm": "None",
    "privacyLevel": "None",
    "useEndUserOAuth2Credentials": "False"
  }
}

When I do this, the access token is short-lived and expires in an hour. After that, Power BI can no longer connect to the datasource.

What I don't understand is why when I log in to my datasource with the Power BI service through a browser, somehow the credential doesn't seem to expire; Power BI can still refresh the data hours later.

My Question: How can I use the REST API to replicate, programmatically, what happens when I provide my datasource credentials to the Power BI Service through my browser?

Upvotes: 3

Views: 1212

Answers (1)

David Browne - Microsoft
David Browne - Microsoft

Reputation: 88971

When you configure connection interactively Power BI gets both an access token and a refresh token.

The API does not support doing that, but you can vote for the idea to help prioritize the feature.

Upvotes: 5

Related Questions