And*_*ndy 2 excel google-api google-analytics-api google-adwords powerquery
在Power Query中,我可以使用Web.Contents函数从Web下载数据,但是有一个api要求该请求包含以下格式的多部分/表单数据
"__rdxml"=<*Some data*>
那么如何使用Web.Contents函数来做到这一点呢?
我尝试过
...
PostContent = "__rdxml=<*Some data*>",
Source Web.Contents(url,Content=Text.ToBinary(PostContent))
...
Run Code Online (Sandbox Code Playgroud)
但是服务器响应为400 Bad Request。
我检查了Fiddler的原始请求,似乎请求未发送content-type=multipart/form-data标头。
我尝试使用手动添加content-type标头content-type=multipart/form-data,但这也不起作用。400 Bad Request响应相同。
任何的想法?
multipart / form-data是一种相当复杂的编码,需要一堆特定于MIME的标头。我首先尝试看看您是否可以使用application / x-www-form-urlencoded代替:
let
actualUrl = "http://some.url",
record = [__rdxml="some data"],
body = Text.ToBinary(Uri.BuildQueryString(record)),
options = [Headers =[#"Content-type"="application/x-www-form-urlencoded"], Content=body],
result = Web.Contents(actualUrl, options)
in
result
Run Code Online (Sandbox Code Playgroud)
编辑:我想出了一个使用Power Query的multipart / form-data的示例。在https://gist.github.com/CurtHagenlocher/b21ce9cddf54e3807317
| 归档时间: |
|
| 查看次数: |
3324 次 |
| 最近记录: |