我尝试通过Excel Power Query连接到云上的db2。
基于documentation,这是curl请求的格式:
curl -X POST https://hostname.com/dbapi/v4/sql_query_export -H 'authorization: Bearer MyToken' -H 'content-type: text/csv' -d '{"command":"select * from mytable"}'
我尝试通过GUI转到,但出现错误
我很确定我做得不对,但我甚至不能谷歌如何传递我的参数。
有没有人可以导航一下如何汇编M代码来做这个?
我根据@nfgl的答案尝试了一下
let
body = [#"command"="select * from mytable"]
,json = Json.FromValue(body)
,wc = Web.Contents("https://hostname.com/dbapi/v4/sql_query_export", [Headers=[#"content-type"="text/csv", authorization="Bearer XXX"]])
,Source = Csv.Document(wc,[Delimiter=",", Encoding=65001, QuoteStyle=QuoteStyle.Csv])
in
Source
但是,不能匿名绕过凭据ui:
当我使用令牌尝试Web API时:
顺便说一句,一切都可以和python一起工作:
import http.client
conn = http.client.HTTPSConnection("hostname.com")
payload = "{\"command\":\"select * from mytable\"}"
headers = {
'content-type': "text/csv",
'authorization': "Bearer XXX"
}
conn.request("POST", "/dbapi/v4/sql_query_export", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
发布于 2021-09-10 08:39:56
你不能通过GUI来做这件事,命令JSON必须在请求内容中,并且content-type是你发送的内容,即JSON,打开高级编辑器并这样做
let
url = "https://showcase.api.linx.twenty57.net/UnixTime/fromunixtimestamp",
body = [#"UnixTimeStamp"= 1589772280, #"Timezone"=""],
json = Json.FromValue(body),
wc = Web.Contents(url, [Headers=[#"Content-Type"="application/json"], Content=json]),
Source = Csv.Document(wc,[Delimiter=",", Encoding=65001, QuoteStyle=QuoteStyle.Csv])
in
Source
https://stackoverflow.com/questions/69124275
复制相似问题