You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Power BI Angular库嵌入报表时遇tokenType未定义错误求助

你的配置无问题,错误源于Power BI Embedded的官方Bug

你的嵌入配置完全符合Power BI Angular库的规范:

  • 正确设置了报表类型type: 'report'
  • 提供了合法的报表ID、AAD访问令牌,且指定了tokenType: models.TokenType.Aad
  • 配置了有效的embedUrl和必要的界面设置

问题根源

你定位的结论准确:这是微软Power BI Embedded闭源JS文件中的Bug。负责判断的isSaaSEmbedWithAADToken函数要求传入config参数,但调用它的代码并未传入,导致读取config.tokenType时触发TypeError。

触发错误的调用代码:

if (isSaaSEmbedWithAADToken() && config.settings && config.settings.personalBookmarksEnabled) {
    url += "&defaultBookmarkEnabled=true";
}

函数本身的逻辑(依赖传入的config):

function isSaaSEmbedWithAADToken(config) {
    // Default token type is Aad (0)
    const tokenType = config.tokenType || 0;
    return (window.isSaasOrPaasEmbed === true) && (tokenType === 0);
}

临时解决办法

因为JS文件无法自行修改,可尝试以下方案绕过:

  • 若未显式设置personalBookmarksEnabled,可以添加settings.personalBookmarksEnabled: false,直接跳过该条件分支
  • 升级Power BI Angular库到最新版本,确认官方是否已修复该问题
  • 通过Power BI官方支持渠道提交Bug反馈,推动官方修复

内容的提问来源于stack exchange,提问作者Stephan Bisschop

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 16:29:54