March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount! Early bird discount ends December 31.
Register NowBe one of the first to start using Fabric Databases. View on-demand sessions with database experts and the Microsoft product team to learn just how easy it is to get started. Watch now
I tried to embed reports the same way as tiles with the new api for reports list. Tiles are working perfectly but when I try to embed a report I get this error:
Uncaught SecurityError: Blocked a frame with origin "https://app.powerbi.com" from accessing a frame with origin "my domain hidden". Protocols, domains, and ports must match.
I followed this tutorial:
https://powerbi.microsoft.com/en-us/documentation/powerbi-developer-integrate-a-power-bi-tile-or-rep...
Am I doing something wrong or is it a bug?
Solved! Go to Solution.
Hi everyone,
it looks like Microsoft has taken care of this issue. I didn't change the code and it started working. It is still a little bit bugy for some types of visuals. But it renders now. The errors and warnings I get for some of the reports now:
Power BI Supports for embed power BI dashboard on your website via IFrame.
Embed the powerBi report in html iFrame
HI,
I downloaded the sample,I registered my app and got back clientId and clientSecret. The when I run the code and clicked the button "GetReport", I got the empty response back. the following is the responseContent. I'd like to know why. Please help
{
"@odata.context":"http://api.powerbi.com/beta/myorg/$metadata#reports","value":[
]
}
I have it the other way around wherby i can embed reports fine but when i try the loadTile function i get a javasccript error after posting the auth details to the iframe. The error occurs because it is trying to parse undefined. The reports work in the same page but not the tiles any ideas ?
Also i notice that standard users can view embedded reports with pro content is this by design ?
Hi @Silko,
@pmathew2000 - FYI too.
Having created API Embed samples already, I decided I'd integrate the ability to Embed a Report too. At first, I got to the same point as you, with the same cross origin javascript error.
[Edit] adding screenshot:
So, I decided I'd create a new Azure Web App and publish the Microsoft sample to see what we're doing wrong. The steps I took:
Note: I did not modify any code in the solution that I cloned, other than to replace URIs and Settings
The result? Exactly the same.
It's not immediately obvious whether we're missing something or if it is indeed an issue. I'm raising this as an issue with Microsoft in the hope that we can find out and embed some reports soon 🙂
Thanks,
I was able to get the report by running the solution from Visual Studio 2013 from my local machine. So it seems some permission issues.
@JasonDunbar thank you for taking your time with this. I hope we will soon find out anything about this issue. It would be great to embed reports as soon as possible 🙂
Hey All,
I went through the sample app from https://github.com/Microsoft/PowerBI-CSharp and was able to successfully get a Power BI report to render.
One potential snag you may see will be making sure the Client ID you are using matches the url of your application against the registered apps redirect url.
We have recently released a new app registration tool which should make this process super simple. You can now register a new Power BI apps @ https://dev.powerbi.com/apps
Sorry folks, I've not been following along as I'm on Holiday (still am for a couple of weeks) and often have no internet connection for many days 🙂
Anyhow, just a quick update from my side... I have a case open with MSFT to investigate why it did not initially work as expected. Since then, slow progress on their side.
However, I kept checking back periodically to see if anything had changed and about a week or so after opening the support case, it magically started working as you'd expect. Both the sample from MSFT and my (slightly) modified version to make it more dynamic. Sure, there are still one or two script errors which I think people here have already pointed out, but it does at least render a report.
I'm trying to embed Power BI report in a UWP app. I have followed all the steps in the tutorial but I get a continuous progress bar in the iframe and the report doesn't load. Any help to figure out this issue would be great!
Hi
Can you please share what step you did for me it hangs after embed reporter if you click F12
You get following error message
SCRIPT5: Access is denied.
File: reportEmbed, Line: 1, Column: 1
Best Regards
Stefan
@wabreza: The sample app on https://github.com/Microsoft/PowerBI-CSharp doesn't help me a lot because I'm working in PHP. I checked redirect url in my registered app and it's the same. If it wouldn't be also dashboard tiles wouldn't work, but they do.
@StefanPersson: I used this API function to get the report list, then I chose embed url from the report list and follow the steps in this tutorial to embed the report.
It is just a copy paste from a tutorial:
<iframe width="500px" height="500px" id="iFrameEmbedTile" onload="postActionLoadReport();" src="<?= $embedUrl; ?>&width=<?= $width; ?>&height=<?= $height; ?>"></iframe> <script> function postActionLoadReport() { // get the access token. accessToken = "<?= $access_token; ?>"; // return if accessToken is empty if ("" === accessToken) return; // construct the push message structure var m = { action: "loadReport", accessToken: accessToken }; message = JSON.stringify(m); // push the message. iframe = document.getElementById('iFrameEmbedTile'); iframe.contentWindow.postMessage(message, "*");; } </script>
The part for gettng the list of reports is working ok. Just the part for embeding the report gives the error.
When we are using ADFS while embedding the dashboard into our application, the office365 login page does not seem like rendering inside the iframe. Is it a security issue?
<html lang="en"> <head> <script type="text/javascript"> // post the auth token to the iFrame. function postActionLoadReport() { // get the access token. accessToken = '<?php echo $accessToken;?>'; // return if no a if ("" === accessToken) return; // construct the push message structure // this structure also supports setting the reportId, groupId, height, and width. // when using a report in a group, you must provide the groupId on the iFrame SRC var m = { action: "loadReport", accessToken: accessToken}; message = JSON.stringify(m); // push the message. iframe = document.getElementById('iFrameEmbedReport'); iframe.contentWindow.postMessage(message, "*");; } </script> </head> <body> <div> <p><b>Embedded Report</b></p> <table> <tr> <td> <iframe id="iFrameEmbedReport" src="<?php echo $reportURI;?>" onload="postActionLoadReport()" height="768px" width="1024px" frameborder="1" seamless></iframe> </td> </tr> </table> </div> </body> </html>
Hi everyone,
it looks like Microsoft has taken care of this issue. I didn't change the code and it started working. It is still a little bit bugy for some types of visuals. But it renders now. The errors and warnings I get for some of the reports now:
Try using the sample at https://github.com/Microsoft/PowerBI-CSharp ( folder embed-a-report-into-an-app under samples/webforms)
March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!
Your insights matter. That’s why we created a quick survey to learn about your experience finding answers to technical questions.
Arun Ulag shares exciting details about the Microsoft Fabric Conference 2025, which will be held in Las Vegas, NV.
User | Count |
---|---|
8 | |
3 | |
2 | |
1 | |
1 |
User | Count |
---|---|
6 | |
3 | |
2 | |
2 | |
2 |