Forum Discussion
Power BI REST API using postman - generate embed token.
- 8 years ago
insoldev wrote:
Hello - currently working through trying to get an embed token using the Power BI rest api. I am following the guidance as on this page. https://msdn.microsoft.com/en-us/library/mt784614.aspx.
ultimately, I am trying to achieve the outcome of using javascript to host a Power BI report in the new model as per https://community.powerbi.com/t5/Developer/Embedding-without-hard-coding-master-credentials-app-owns-data/m-p/296611#M8734 as per Eric_Zhang suggestion.
I am not getting an embed token - I am simply getting this response. Clearly I've missed something - I am using my client secret as the bearer token.
The bearer token requires an access token, not the client secret. You need to follow this link to register a Native app rather than a server-side web app for Power BI Embedded cases and grant sufficient permissions.
Then to get the access token, you can call the POST API in POSTMAN as
POST /common/oauth2/token HTTP/1.1 Host: login.windows.net Cache-Control: no-cache Content-Type: application/x-www-form-urlencoded client_id={client id}&grant_type=password&resource=https%3A%2F%2Fanalysis.windows.net%2Fpowerbi%2Fapi&username={your power bi account}&password={your Power BI password}With the above access_token, you can call the GenerateToken API.
By the way, using POSTMAN is recommended for testing/debug purpose, what would you like in your case?
Thank you so much, was able to get the access_token using this method in postman.
When you say "With the above access_token, you can call the GenerateToken API.", can you give us an example of how we would use the access_token from the call to https://login.windows.net/common/oauth2/token to one of the post methods?
For example, I am trying to embed a report in .net core. I want to use this rest api method: Reports GenerateTokenInGroup
POST https://api.powerbi.com/v1.0/myorg/groups/{groupId}/reports/{reportId}/GenerateToken
with some parameters (accessLevel, allowSaveAs, datasetId, identities) in the request body. How would I use the access_token from the first API call with the second one (POST https://api.powerbi.com/v1.0/myorg/groups/{groupId}/reports/{reportId}/GenerateToken)?
Thank you!
Anonymous did you find a solution to this, are you able to share a common approach for postman?