Forum Discussion
Get token of report
Hi everyone
I have a question regarding embed token of report to insert it in Azure web app.
Currently, I followed video instruction from Guy in cube regarding getting token and I got error.
Also, I followed instructions for getting token with function app, and also got compile error.
Is there another way to get token? Also, does it require Power BI embedded to embed it?
Regards,
Yerkhan
Hi Yerkhan,
Regarding the error, please refer to #grant-admin-consent-to-enterprise-apps-in-the-azure-portal for a solution. Please also refer to the snapshot below.
In order to get the embed token, we need to get a valid access token first, then invoke the REST API with it to get the embed token. Please refer to the snapshots below.
1. Get an access token.
POST https://login.microsoftonline.com/replace_with_your_tenant_id/oauth2/token
resource: https://analysis.windows.net/powerbi/api2. Invoke the "generate embed token" API.
If there aren't any roles, you don't need to specify the identities.
Best Regards,
Dale
16 Replies
- v-jiascu-msftMicrosoft Employee
Hi Yerkhan,
What's the error message? You can download the program from Embed-API-Sample.
You also can request the embed token using rest/api/power-bi/embedtoken.
Best Regards,
Dale- ysapiyevResponsive Resident
Hi, Dale,
I've tried embed sample, and got this error:
The user or administrator has not consented to use the application with ID. Send an interactive authorization request for this user and resource.
So, does it mean that I need to send request to administrator of AD?
Regards,
Yerkhan
- v-jiascu-msftMicrosoft Employee
Hi Yerkhan,
Regarding the error, please refer to #grant-admin-consent-to-enterprise-apps-in-the-azure-portal for a solution. Please also refer to the snapshot below.
In order to get the embed token, we need to get a valid access token first, then invoke the REST API with it to get the embed token. Please refer to the snapshots below.
1. Get an access token.
POST https://login.microsoftonline.com/replace_with_your_tenant_id/oauth2/token
resource: https://analysis.windows.net/powerbi/api2. Invoke the "generate embed token" API.
If there aren't any roles, you don't need to specify the identities.
Best Regards,
Dale
- v-jiascu-msftMicrosoft Employee
Hi Yerkhan,
Could you please mark the proper answers as solutions?
Best Regards,
Dale
- ysapiyevResponsive Resident
I've also tried to use POST. I made request in POSTMAN application, however I got empty body request as response.
I used following approach:
https://api.powerbi.com/v1.0/myorg/groups/{group-id}/reports/{report-id}/GenerateTokenand following body:
{ "accessLevel": "View", "identities": [ { "username": "{username}", "datasets": [ "{dataset-id}" ] } ] }What can be my mistake?
Regards,
Yerkhan
- NEbdfFrequent Visitor
Greetings,
first of all, thanks for the detailed instructions v-jiascu-msft. But I am still struggling to get this to work in Postman. I followed each of your described steps, but only get the following error message in return:
{
"error": "invalid_grant",
"error_description": "AADSTS70002: Error validating credentials. AADSTS50126: Invalid username or password\r\nTrace ID: dba5dbef-834c-4df0-910f-2ad7e6e23600\r\nCorrelation ID: ee8fa976-7366-4056-9523-b5d1c606c78f\r\nTimestamp: 2019-01-09 08:14:06Z",
"error_codes": [
70002,
50126
],
"timestamp": "2019-01-09 08:14:06Z",
"trace_id": "dba5dbef-834c-4df0-910f-2ad7e6e23600",
"correlation_id": "ee8fa976-7366-4056-9523-b5d1c606c78f"
}
I of course double checked every key/value, URL and the App Settings in Azure. I also used the PowerBI embed configuration tool to setup the environment in Azure. The generated .net application also generates a token sucessfully (but I need it with a simple post call) so I am sure that the used credentials are working.
Do you maybe have some more ideas what else I can try? Or are there maybe basic configurations in Azure which could prevent a successful post call of Postman?
Thanks!- v-jiascu-msftMicrosoft Employee
Hi NEbdf,
Since you can use the password to get token with .net application, that's hard to say what went wrong. Can you share a snapshot of how you did it? Please mask the sensitive parts.
Best Regards,
Dale- NEbdfFrequent Visitor
Sure. Here is the latest Postman configuration: