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

在Power BI中使用Bearer token调用API遇阻求助

Power BI调用带Bearer Token的API失败排查与解决方法

我在使用Power BI调用带Bearer Token的API时,已成功获取Token且能在Postman中正常调用,但尝试以下三种方法均失败:

  • 使用Power M编写空白查询:
apiUrl = "my_api_url",
    token="my_api_key",
    options = [Headers=[#"Authorization"="Bearer " & token ]],
    result = Json.Document(Web.Contents(apiUrl , options))
in
    #"result"

实用排查与修复步骤

1. 修正Power M代码的语法与细节

  • 首先检查代码最后一行:#"result"是语法错误,应该直接写result(去掉#和引号),这会直接导致查询执行失败
  • 确认apiUrl完整且正确,必须包含http://或https://协议,无多余空格或特殊字符
  • 验证Token拼接:Bearer与Token之间必须保留一个空格,代码中"Bearer " & token的空格不能省略
  • 可添加状态码处理参数,跳过临时错误验证,方便排查:
apiUrl = "my_api_url",
    token="my_api_key",
    options = [
        Headers=[#"Authorization"="Bearer " & token ],
        ManualStatusHandling={401, 403, 500}
    ],
    result = Json.Document(Web.Contents(apiUrl , options))
in
    result

2. 调整Power BI隐私与网关设置

  • 若报表发布到Power BI服务,进入数据源设置,将API地址的隐私级别设为「公共」,避免跨数据源隐私冲突
  • 使用本地网关时,确认网关服务器能正常访问API地址,且网关的身份验证配置与API要求匹配

3. 匹配API的完整请求要求

  • 打开Postman的请求详情,复制所有Request Headers到Power M中,部分API要求额外Header(如Content-Type: application/json):
apiUrl = "my_api_url",
    token="my_api_key",
    options = [
        Headers=[
            #"Authorization"="Bearer " & token,
            #"Content-Type"="application/json",
            #"Accept"="application/json"
        ]
    ],
    result = Json.Document(Web.Contents(apiUrl , options))
in
    result
  • 重新获取最新Token测试,避免使用已过期的Token

4. 规范URL传参格式

  • 确认API支持URL传递Token,且参数名正确(通常为token或api_key),正确格式应为https://myurl.com?token=444554(用?分隔路径与参数)
  • 若API仅支持Header传递Token,此方法无效,以官方API文档为准

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 14:52:29