当需要 Windows 授权时,如何使用 Power BI 发送自定义 header?
How do I send a custom header using Power BI when Windows Authorization is required?
我正在尝试使用 Power BI (Power Query) 访问使用 Windows 身份验证并需要 api 密钥 header 的不记名令牌 API。我 运行 遇到的问题是 Power BI 只接受某些 header。当我尝试包含我的组织的“api-key”header 时,我收到以下错误消息:
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 身份验证的建议,正如我需要的那样。我尝试按照 的建议使用自定义数据连接器,但似乎无法正常工作。有没有什么办法可以绕过这个限制并像上面描述的那样传递我的 api 密钥 header?
由于我无法找到解决此 Power BI 限制的方法,我最终创建了一个简单的 Web API,它使用 Windows Auth,没有自定义 headers。 Power BI 调用此 API,进而对服务进行 Windows 身份验证调用(使用自定义 header)并检索所需的持有者令牌。
我正在尝试使用 Power BI (Power Query) 访问使用 Windows 身份验证并需要 api 密钥 header 的不记名令牌 API。我 运行 遇到的问题是 Power BI 只接受某些 header。当我尝试包含我的组织的“api-key”header 时,我收到以下错误消息:
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 身份验证的建议,正如我需要的那样。我尝试按照
由于我无法找到解决此 Power BI 限制的方法,我最终创建了一个简单的 Web API,它使用 Windows Auth,没有自定义 headers。 Power BI 调用此 API,进而对服务进行 Windows 身份验证调用(使用自定义 header)并检索所需的持有者令牌。