Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Shape the future of the Fabric Community! Your insights matter. That’s why we created a quick survey to learn about your experience finding answers to technical questions. Take survey.

Reply
SarahQUL
Frequent Visitor

Can't display a new report

Hi everebody,

 

I have need some help, please.

 

I try to create a report with a Dataset selected by the user. For this, I use the API Rest Power BI. I get the list of datasets, and I display a form, in this form there are the name and the id of dataset. When a dataset is selected, and validate, a new IFrame appear with the report. But my problem is the next: when the IFrame Appear I have a message who tell me : "This content is not available". I haven' any error message in the console, and my code is exalty as the code of microsoft example: https://docs.microsoft.com/en-us/azure/power-bi-embedded/power-bi-embedded-create-report-from-datase....

 

Of the blow, I would like to know, the reasons why I might have this problem. Maybe I miss an important step for displaying this report in create mode?

 

 

Here you can see some screen captures: 

API_error.PNGfonction_create.PNG

 

 

1 ACCEPTED SOLUTION
Eric_Zhang
Microsoft Employee
Microsoft Employee

@SarahQUL

Embedding a dataset to create a report works in my test. I can create and save a report. In your case, please try to debug the accesstoken used to embed a dataset and decode it at https://jwt.io/. You'll find the workspaceid, datasetid and scopes, please ensure that  all information is correct and scope is "Dataset.Read Workspace.Report.Create"

Capture.PNG

var embedToken= PowerBIToken.CreateReportEmbedTokenForCreation(this.workspaceCollection, workspaceId, datasetid, null, null, "Dataset.Read Workspace.Report.Create");
AccessToken = embedToken.Generate(this.accessKey)

 

A static html testing demo FYI.

<html>

 <script src="../jquery.js"></script>

<script src="../powerbi.js"></script>
 
<script type="text/javascript">
window.onload = function () {   
// Read embed application token from textbox
var txtAccessToken = 'accessToken';
 
// Read embed URL from textbox
var txtEmbedUrl = 'https://embedded.powerbi.com/appTokenReportEmbed';
 
// Read dataset Id from textbox
var txtEmbedDatasetId = 'datasetID';
 
// Embed create configuration used to describe the what and how to create report.
// This object is used when calling powerbi.createReport.
var embedCreateConfiguration = {
    accessToken: txtAccessToken,
    embedUrl: txtEmbedUrl,
    datasetId: txtEmbedDatasetId,
};
 
// Grab the reference to the div HTML element that will host the report
var reportContainer = $('#reportContainer')[0];
 
// Create report
var report = powerbi.createReport(reportContainer, embedCreateConfiguration);  
}
</script>

<div id="reportContainer" ></div>

</html>

 

View solution in original post

2 REPLIES 2
Eric_Zhang
Microsoft Employee
Microsoft Employee

@SarahQUL

Embedding a dataset to create a report works in my test. I can create and save a report. In your case, please try to debug the accesstoken used to embed a dataset and decode it at https://jwt.io/. You'll find the workspaceid, datasetid and scopes, please ensure that  all information is correct and scope is "Dataset.Read Workspace.Report.Create"

Capture.PNG

var embedToken= PowerBIToken.CreateReportEmbedTokenForCreation(this.workspaceCollection, workspaceId, datasetid, null, null, "Dataset.Read Workspace.Report.Create");
AccessToken = embedToken.Generate(this.accessKey)

 

A static html testing demo FYI.

<html>

 <script src="../jquery.js"></script>

<script src="../powerbi.js"></script>
 
<script type="text/javascript">
window.onload = function () {   
// Read embed application token from textbox
var txtAccessToken = 'accessToken';
 
// Read embed URL from textbox
var txtEmbedUrl = 'https://embedded.powerbi.com/appTokenReportEmbed';
 
// Read dataset Id from textbox
var txtEmbedDatasetId = 'datasetID';
 
// Embed create configuration used to describe the what and how to create report.
// This object is used when calling powerbi.createReport.
var embedCreateConfiguration = {
    accessToken: txtAccessToken,
    embedUrl: txtEmbedUrl,
    datasetId: txtEmbedDatasetId,
};
 
// Grab the reference to the div HTML element that will host the report
var reportContainer = $('#reportContainer')[0];
 
// Create report
var report = powerbi.createReport(reportContainer, embedCreateConfiguration);  
}
</script>

<div id="reportContainer" ></div>

</html>

 

My token Access is false, I try to change that.

 

Thanks for you response.

 

Sarah.

Helpful resources

Announcements
November Carousel

Fabric Community Update - November 2024

Find out what's new and trending in the Fabric Community.

Dec Fabric Community Survey

We want your feedback!

Your insights matter. That’s why we created a quick survey to learn about your experience finding answers to technical questions.