PowerBI查询WebMethod.Post返回Expression.Error:我们无法将值“ POST”转换为Function类型

问题描述 投票:0回答:1

我正在使用一个网站,[[需要使用Webform.Post方法提交其API密钥和查询数据。我可以在Python,C#中使用它,甚至可以构造并执行一个cURL命令,该命令返回Excel可以解析的可用JSON文件。我还使用Postman验证我的参数,使用所有这些方法,一切看起来都不错。但是,我的目标是构建可在Excel中使用但无法通过PowerBi Query中的该查询语法的查询表单。

目前,我正在做一个简单的查询。该查询看起来像这样:

let url_1 = "https://api.[SomeWebSite].com/api/v1.0/search/keyword?apiKey=blah-blah-blah", Body_1 = { "SearchByKeywordRequest: { ""keyword"": ""Hex Nuts"", ""records"": 0, ""startingRecord"": 0, ""searchOptions"": Null.Type, ""searchWithYourSignUpLanguage"": Null.Type }" }, Source = WebMethod.Post(url_1,Body_1) in Source
ScreenSnip showing valid syntax

它产生以下错误:

Expression.Error: We cannot convert the value "POST" to type Function. Details: Value=POST Type=[Type]

ScreenSnip of Error as it appears in PowerQuery Advanced Editor

过去两天中,我大部分时间都在尝试使用此方法或文档查找示例。 Microsoft文档简单说明了以下内容:

WebMethod.Post 04/15/2018 2 minutes to read About Specifies the POST method for HTTP.

https://docs.microsoft.com/en-us/powerquery-m/webmethod-post

这无济于事,到目前为止,我发现的仅有的帖子批评张贴者未使用GET与POST。我会这样做,但是我正在使用的网站

NOT支持它。如果有人可以请我指向说明我做错事情的文档或提出解决方案,我将不胜感激。

powerbi powerquery webmethod
1个回答
0
投票
WebMethod.Post不是函数。它是一个常量文本值“ POST”。您可以使用Web.ContentsWebAction.Request功能发送POST请求。

发布JSON并接收JSON的简单示例:

let url = "https://example.com/api/v1.0/some-resource-path", headers = [#"Content-Type" = "application/json"], body = Json.FromValue([Foo = 123]), source = Json.Document(Web.Contents(url, [Headers = headers, Content = body])), ...

© www.soinside.com 2019 - 2024. All rights reserved.