Power Query 缺少对 Windows 身份验证和 REST API POST 正文的支持

Posted

技术标签:

【中文标题】Power Query 缺少对 Windows 身份验证和 REST API POST 正文的支持【英文标题】:PowerQuery missing supports for windows authentification and REST API POST body 【发布时间】:2020-05-18 09:19:00 【问题描述】:

我发现 PowerQuery (Powerbi & excel) Web.Contents 函数在使用 Windows 身份验证时不支持正文有效负载的困难方式。

有类似的查询

let
   body = """json"" : ""payload""",
   Data= Web.Contents("http://xxxx/api/Query",[Content=Text.ToBinary(body),Headers=[#"Content-Type"="application/json"]]),
   DataRecord = Json.Document(Data)
   ...

相当储备这种孤独的支持,我怀疑我错过了一个重要方面。有推荐的方法吗?我的谷歌搜索非常不成功。

我是否应该使用第一个 GET 生成某种令牌,然后以匿名方式使用正文 + 令牌进行 POST ?

【问题讨论】:

【参考方案1】:

您必须使用 Windows 身份验证吗?将这样的东西与匿名身份验证一起使用怎么样:

let 
AuthKey = "mytoken",
url="http://xxxx/api/Query",
body = """json"" : ""payload""",

Source = Json.Document(Web.Contents(url,[
          Headers = [#"Authorization"=AuthKey ,
                #"Content-Type"="application/json"],
        Content = Text.ToBinary(body)
        ]
    ))

 in
    Source

这会解决您的问题吗?

【讨论】:

我在一个 Intranet 环境中,并且由域内的虚拟机 + IIS 完成托管,因此它对于许多用途来说非常实用。该堆栈已经开发完毕,可以在我们的许多 NTLM 场景中使用,除了 powerquery。

以上是关于Power Query 缺少对 Windows 身份验证和 REST API POST 正文的支持的主要内容,如果未能解决你的问题,请参考以下文章

power query如何实现增加空白行

使用 Power Query 对数据进行分组和转置

Power Query 能否以不同级别的小计详细信息对数据进行表格化?

Power BI 中的 Power Query 帮助

PowerBI 核心组件介绍(Power Query&Power Pivot & Power View& Power BI)

Power BI Power Query 排名1 非连续排名