如何解决需要Windows授权时,如何使用Power BI发送自定义标头?
我正在尝试使用Power BI(Power Query)来访问使用Windows身份验证且需要api密钥标头的承载令牌API。我遇到的问题是Power BI仅接受某些标头。当我尝试包含组织的“ api-key”标头时,收到以下错误消息:
Expression.Error: The 'api-key' header is only supported when connecting anonymously. These headers can be used with all authentication types: Accept,Accept-Charset,Accept-Encoding,Accept-Language,Cache-Control,Content-Type,If-Modified-Since,Prefer,Range,Referer
尽管我尝试了几种变体,但是我正在使用的代码看起来像这样:
let
securityTokenServiceUrl = "https://mysecurityservice",myApiKey = "123456789",securityHeader = "{
""accept"": ""text/plain"",""api-key"": """& myApiKey & """
}",tokenResponse = Json.Document(Web.Contents(securityTokenServiceUrl,[
Headers = Json.Document(securityHeader)
])),token = tokenResponse[access_token]
in
token
我已经做了大量的工作,但是只能根据我的需要找到有关如何使用匿名授权而不是Windows Auth的建议。我尝试按照建议的here使用自定义数据连接器,但似乎无法正常工作。如上所述,有什么方法可以绕过此限制并传递我的api键标头?
解决方法
由于无法找到解决此Power BI限制的方法,因此最终创建了一个简单的Web API,该Web API使用没有自定义标头的Windows Auth。 Power BI会调用此API,进而对服务进行Windows Auth调用(带有自定义标头),并检索所需的承载令牌。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。