Forum Discussion
Power BI REST API gives 403 forbidden (use service principal)
Hi everyone,
I want to get the powerbi dataset refresh history programmatically so I need to call the Power BI API using the below method,
GET https://api.powerbi.com/v1.0/myorg/groups/{groupId}/datasets/{datasetId}/refreshes
I follow the MS docs and this guide and created an app on Azure, and currently I can get the access token successfully but when I run the HTTP request it return 403 forbidden error,
The below is what I have tried but still the same error:
- I grant almost all the PBI permission to this app (both delegate and application) as figure below,
- I already added the app (service principal) as admin in my Power BI Workspace,
(I also enable Allow service principals to use Power BI APIs in PBI Admin portal)
- I have tried to call the REST API on Power BI Desktop query editor and Postman, always return forbidden error. Below screenshot is where I tried on Power BI Desktop, I also can get the access token but still 403 when I try to use the token to call API.
So how do I fix this? anything missing? It cost me so much time but still cannot use the API successful.
Any solution would be much appreciated!
Have you considered using AAD auth instead?
Also, there's this:
4 Replies
- lbendlinSuper User
"added the app (service principal) as admin in my Power BI Workspace,"
But you are using an API call against Premium workspaces. Does your service principal have access to the Premium workspaces you are trying to access?