powerbi Web.Contents 错误 400

powerbi Web.Contents 错误 400

我有请求

NonWorkHours = Web.Contents("https://mysite.azurewebsites.net" & "/api/v1.0/Report/Setter5", [Headers=[Authorization="Bearer xxx"]])

此请求在 PowerBI Desktop 中运行良好。授权是硬编码的,因此我使用匿名授权,但在发布报告后我总是得到400: Bad request error

错误截图

答案1

这是一个令人讨厌的已知问题。您感到困惑是对的,Web 服务的工作方式应该与 Power BI Desktop 相同。根本原因是 Web 服务默默运行了额外的代码分析。然而,这很愚蠢(真的毫无意义),可以通过伪造静态 URL 来破解。

查看您的代码,如果您仅将第一个参数作为单个字符串传递给 Web.Contents(删除 & ),它可能会起作用。

如果您的要求实际上更复杂,这里有几篇博客文章可以解释其他技术:

https://blog.crossjoin.co.uk/2016/08/23/web-contents-m-functions-and-dataset-refresh-errors-in-power-bi/

http://blog.datainspirations.com/2018/02/17/dynamic-web-contents-and-power-bi-refresh-errors/

答案2

尝试这个:

让 apiUrl =“https://mysite.azurewebsites.net”&“/api/v1.0/Report/Setter5”,

options = [Headers=[Authorization="Bearer xxx"]],

result = Json.Document(Web.Contents(apiUrl, options))

result

相关内容