The ultimate Fabric, Power BI, SQL, and AI community-led learning event. Save €200 with code FABCOMM.
Get registeredCompete to become Power BI Data Viz World Champion! First round ends August 18th. Get started.
We have a website that displays embedded PowerBI reports. The website, the code that drives it, and the reports themselves have not changed in months. This week, the PowerBI API call to generate our embed tokens started refusing to give it to us, instead returning this error:
Client error: `POST https://api.powerbi.com/v1.0/myorg/groups/<our-id>/reports//GenerateToken` resulted in a `400 Bad Request` response
InvalidRequest: Resource access type View unsupported for Reports
I can't find anything online about this error. What could be suddently causing this?
Solved! Go to Solution.
It turns out the endpoint we are using is fine. Microsoft themselves have example code using this endpoint for View operations.
The problem ended up being a very subtle change on Microsoft's side where a json field name was changed from "Name" to "name", which broke a case-sensitive field lookup in our code.
Hi,
I'm not sure what have changed in Power BI side, but can you please explain why you call this specific endpoint? According to the documentation it should only be used when generating an embed token to be used for creating reports Embed Token - Reports GenerateTokenForCreateInGroup - REST API (Power BI Power BI REST APIs) | Micro...
That's probably why you get an error when you specify "accessLevel"="view" in the request. I believe only "Create" is supported.
If you're just embedding existing report\s you should use a different endpoint like this one Embed Token - Generate Token - REST API (Power BI Power BI REST APIs) | Microsoft Docs
It turns out the endpoint we are using is fine. Microsoft themselves have example code using this endpoint for View operations.
The problem ended up being a very subtle change on Microsoft's side where a json field name was changed from "Name" to "name", which broke a case-sensitive field lookup in our code.