[使用POST请求获取所有项目时出现400错误请求

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

我对API和Power BI还是很陌生,所以请原谅我缺乏知识。

我正在尝试通过Power Query Editor通过Podio API将数据从我的podio应用程序获取到Power BI中。我遇到的问题是,使用GET请求不能获得20个结果(这是Podio API的标准),因此我无法更改限制。或者我使用POST请求并收到400错误的请求。

这是我得到20个结果的代码。

let 
url = "https://api.podio.com/item/app/appid/",
  Source = Json.Document(Web.Contents(url, [Headers=[Authorization="OAuth2 AuthToken", #"Content-Type"="application/json"]]))
in
    Source

这是我收到400错误请求的代码。我最好的猜测是,它在Text.ToBinary时出错,因为我在体内使用了INT,但我不确定。

let 
url = "https://api.podio.com/item/app/appid/filter/",
body = "{
  ""limit"":500
}",
Parsed_JSON = Json.Document(body),
BuildQueryString = Uri.BuildQueryString(Parsed_JSON),
  Source = Json.Document(Web.Contents(url, [Headers=[Authorization="OAuth2 AuthToken", #"Content-Type"="application/json"], Content = Text.ToBinary("PostContent")]))
in
    Source

我对API和Power BI还是很陌生,所以请原谅我缺乏知识。我正在尝试通过Power Query Editor通过Podio API将数据从我的podio应用程序获取到Power BI中。我是...

powerquery powerbi-desktop podio
1个回答
0
投票

首先,如果实际上是您的代码,则Text.ToBinary仅发送字符串“ PostContent”。其次,如果要作为BuildQueryString的占位符引用,我不认为您还是要使用Uri.BuildQueryString(这是用于将某些字符转换为url转义的变体)。您应该只需要将文本正文放在Text.ToBinary中即可,例如:

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