Earn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.
Good day all,
I'm struggling for a while with generating Bearer for PBI REST API. Action that I'd like to make is to trigger truncating streaming data:
https://docs.microsoft.com/en-us/rest/api/power-bi/pushdatasets/datasets_deleterowsingroup
In order to do so I need to send DELETE message covered with bearer. When I'm using bearer generated in Try it section I've 200 OK answer - as expected.
I've registered app on dev.powerbi.com/apps for client id and secret with required scope Dataset.ReadWrite.All in order to generate bearer:
string resourceUri = "https://analysis.windows.net/powerbi/api";
string authorityUri = "https://login.windows.net/common/oauth2";
AuthenticationContext authContext = new AuthenticationContext(authorityUri);
string token = authContext.AcquireToken(resourceUri, new ClientCredential(clientID, clientSecret)).AccessToken;
Code above works and returns bearer, but once using it I've 401 UNAUTHORIZED.
Question is: why bearer generated on Try it section (so on my credentials) works while bearer generated on app registration doesn't?
Hi @pawels ,
One thing that pops my mind: does your application (=clientID) has access to the workgroup/dataset?
The 'try it' option is using your account to impersonate you to connect to the REST API and the code sample you share is using a ClinetID/Secret scheme to authenticate.
-JP
Hey @jppp !
Thank you for reply. Could you please evaluate how to check that access or eventually how to add this access to?
Cheers!
PS
Hi @pawels
The SP should have been added to the 'users' that have access to the workspace, see step 5 of https://docs.microsoft.com/en-us/power-bi/developer/embed-service-principal#get-started-with-a-servi...
-JP
User | Count |
---|---|
16 | |
5 | |
2 | |
1 | |
1 |
User | Count |
---|---|
22 | |
3 | |
3 | |
2 | |
2 |