我正试图在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导入,powerBiServicepowerBiClient.service.Service的实例。
我尝试过使用自己的报表和组中的报表(将groupid添加到配置中)。
我怎样才能纠正这个错误?

最佳答案

看起来您在配置文件中缺少了embedUrl选项(参见文档中的“AA>”)。这是从power-bi-rest api返回的,例如在this exampleapi中。

08-26 06:30