Don't miss your chance to take the Fabric Data Engineer (DP-700) exam on us!
Learn moreNext up in the FabCon + SQLCon recap series: The roadmap for Microsoft SQL and Maximizing Developer experiences in Fabric. All sessions are available on-demand after the live show. Register now
Hello.
I'm trying to use the PowerBI API to export a specific page of a report as a PNG. The functionality works, giving me a zip file containing a PNG file for every page in the report.
My issue comes when I'm trying to select a specific visual or page by modifying the payload. Following the documentation, this is how my payload looks like
{
'format': 'PNG',
'powerBIReportConfiguration': {
'settings': {
'locale': 'en-US',
'excludeHiddenPages': 'true'
},
'pages': [
{
'pageName': 'Test report page',
}
]
}
But I am still getting a zip file with all the pages instead of just the selected one. Same thing happens when selecting a specific visual.
Solved! Go to Solution.
The pagename is likely not what you think it is. It is more of a GUID based identifier. If you don't specify the right pagename the export will ignore your request and give you all pages.
Unfortunately the main documentation Reports - Export To File In Group - REST API (Power BI Power BI REST APIs) | Microsoft Docs is not very helpful. However, there's this : Export Power BI embedded analytics reports API - Power BI | Microsoft Docs which gives you the hint on how to fetch the page names via a different API call.
The pagename is likely not what you think it is. It is more of a GUID based identifier. If you don't specify the right pagename the export will ignore your request and give you all pages.
Unfortunately the main documentation Reports - Export To File In Group - REST API (Power BI Power BI REST APIs) | Microsoft Docs is not very helpful. However, there's this : Export Power BI embedded analytics reports API - Power BI | Microsoft Docs which gives you the hint on how to fetch the page names via a different API call.
Hello!
Thank you for your reply! I used the Get Pages API Endpoint and I noticed that it gave both a "Name" and a "Display Name", just like you mentioned. I tried running the same code using the GUID-like given to me by the API, but I still get all of the pages in the report.
Could I be missing something in the payload that makes the API ignore it?
You can use the sandbox to try the API call in the service. That helps with the debugging.
So I have found the issue by pure luck. I was using Python's requests package to send the requests, and the payload was written as a Python dictionary and given to the package, since that work usually.
Apparently, this endpoint does not like that and I had to write it as a JSON string and pass it like that.
can you share the payload for the report configuration to isolate just a single visual? I am working on the same use case. Thank you
If you have recently started exploring Fabric, we'd love to hear how it's going. Your feedback can help with product improvements.
A new Power BI DataViz World Championship is coming this June! Don't miss out on submitting your entry.
Share feedback directly with Fabric product managers, participate in targeted research studies and influence the Fabric roadmap.
| User | Count |
|---|---|
| 2 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |