发布标头后没有授权REST API

时间:2018-01-22 15:53:12

标签: powerbi

我使用自己的数据在Power BI Desktop中设计了一个仪表板。使用REST API访问此数据,该API使用标头中的标记进行授权。一切正常,但随后我发布到Power BI Services并希望安排刷新。它显示400错误。似乎在发布期间标题丢失了吗?

Screenshot error

我在论坛上查了几个小时,但找不到任何真正的解决方案。我发现的唯一一件事是这个话题(hhttps://community.powerbi.com/t5/Service/web-contents-with-specified-headers-works-in-PBI-desktop-but/td-p/22786/page / 2)但没有任何解决方案。有人可以帮我解决这个最后一块吗?

提前致谢。

2 个答案:

答案 0 :(得分:0)

此问题是由Web.Contents方法中标头的内联定义引起的。

所以代替这个:

  Source = Web.Contents(
    "https://api.tld",
        [Headers=[#"Authorization"="Bearer <your_personal_token_here>"  ]   ]
    )

使用此:

    vUrl = "https://api.tld",
    vHeaders =[
            #"Authorization"="Bearer <your_personal_token_here>"
        ],
    Source = Web.Contents(vUrl, [Headers=vHeaders])

有关我最近Loading GraphQL data (GitHub API v4) into PowerBI的要点,这是我最近使用此方法更新的。

答案 1 :(得分:0)

我测试了rocky的建议,但是我陷入了Menno Veen ...在Service Power BI设置中提到的同一身份验证点。

对于PowerQuery代码,我使用了此代码(比Rocky的代码简单一些)并且也可以使用。

注意:我在Power BI Service中遇到了同样的问题。

let
source = Web.Contents(
"https://api.url",
[
    Headers=[
        #"Method"="POST",
        #"Content-Type"="application/json",
        #"Authorization"="Bearer <your_personal_token_here>"
    ],
    Content=Text.ToBinary("{""query"": ""{   organization(login: \""github\"") { name  }}""}"),

#"JSON" = Json.Document(source)
in
JSON