我正试图在typescript应用程序中显示power-bi报告。
我已经成功地从aad获得了一个访问令牌,实际上可以通过powerbirestapi使用它。我希望能够使用powerbi javascript,以达到清洁和应用过滤器的目的。但每次我接到一个403错误的电话,说“tokenexpired”(令牌已过期),即使令牌是新生成的,并且至少在一个小时内有效。
嵌入报表的代码如下所示:
private embedReport(accessToken: string): powerBiClient.Embed {
const element = this.getDisplayElement();
const reportId = this.getReportId();
const config = {
type: 'report',
id: reportId,
tokenType: powerBiClient.models.TokenType.Aad,
accessToken: accessToken
};
return this.powerBiService.embed(element, config);
getDisplayElement
返回适当的htmlelement,getReportId
要显示的报表的id,powerBiClient
是powerbi javascript导入,powerBiService
是powerBiClient.service.Service
的实例。我尝试过使用自己的报表和组中的报表(将groupid添加到配置中)。
我怎样才能纠正这个错误?
最佳答案
看起来您在配置文件中缺少了embedUrl
选项(参见文档中的“AA>”)。这是从power-bi-rest api返回的,例如在this exampleapi中。