我使用自己的数据在Power BI Desktop中设计了一个仪表板。使用REST API访问此数据,该API使用标头中的标记进行授权。一切正常,但随后我发布到Power BI Services并希望安排刷新。它显示400错误。似乎在发布期间标题丢失了吗?
我在论坛上查了几个小时,但找不到任何真正的解决方案。我发现的唯一一件事是这个话题(hhttps://community.powerbi.com/t5/Service/web-contents-with-specified-headers-works-in-PBI-desktop-but/td-p/22786/page / 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