Hello
I want to get reports of my power bi by api
I do this steps:
- Create new app and grant permisions
- Create new certificate
- Doing the call from postman WITH Directory (tenant) ID (otherwise get 404) and get token
When put the token and call {{pbi-base-url}}/groups/:group_id/reports get 401:
I can't use user-password call because have two factor authentication
What am I doing wrong? Am I missing a step?
Thanks
Hi @sergiocascales ,
Hoping this might help you...
If you have managed to get a token (using service principle(application ID) and client_id), then you need to go into PowerBI Admin centre and enable the option 'Allow service principals to create and use profiles' ("Settings -> Governance and insights -> Admin portal -> Tenant settings -> Dataset Execute Queries REST API").
Then, you will need to grant the service principle access to the workspaces.
Workspace -> Manage Access
Then if you use the API (https://api.powerbi.com/v1.0/myorg/groups/), the workspace should be visible.
Have a look at this link:
https://learn.microsoft.com/en-us/power-bi/developer/embedded/embed-service-principal
Hope that helps.
Kind regards,
Ben.
Hello
where i can find "Workspace -> Manage Access"?
In BI I see
And in azure
Hi @sergiocascales ,
I don't have the answer unforunately (I came here for a solution and have exactly the same problem as you).
This is what I noticed:
- There is a website where you can try the PowerBI APIs
- It gives you a BEARER token (JWT)
- If you use a JWT decoder (https://jwt.io), the contents give a random app_id that doesn't appear to be part of my tenant, and scopes that I haven't granted (but seem necessary).
- Decoding the token based on your approach doesn't seem to have the correct scope information embedded.
From what I have read, you should be able to authenticate without username/password (as this requires MFA), but with the app_id & client_secret approach.
Hoping someone could link to a working guide (using Postman), or Microsoft documentation (in English please ;).
CAn update the post? Anyway... I add the redirect url too:
User | Count |
---|---|
8 | |
5 | |
3 | |
2 | |
2 |