在 R 中为 curl -X POST 编写一个正确的 API 请求
Writing a proper API request in R for curl -X POST
我是这个话题的新手,以前看过几个SO答案,但还是想不通。
正在尝试访问 API,使用 R:
curl -X POST "http://api.spending.gov.ua/api/rest/1.0/transactions" -H "accept: application/json" -H
"Content-Type: application/json" -d "{ \"payers_edrpous\": [ \"string\" ], \"recipt_edrpous\": [
\"string\" ], \"startdate\": \"string\", \"enddate\": \"string\", \"regions\": [ 0 ]}"
我现在的阶段
library(httr)
r <- GET("http://api.spending.gov.ua/api/rest/1.0/transactions")
status_code(r)
这有效,我有 200
回复。
但是如何编写查询来获取 json 格式的数据呢?感谢任何提示。
来自@dcruvolo 的 link 很有帮助。
为了让它起作用,您需要从一些有效值开始。从问题中的 API link 中,有一个测试页面可以用来测试提交:
可以替换测试值,然后按 "Execute" 按钮提交值。上面评论中的尝试值,足够有效不会导致错误,但也没有 return 任何有效结果。
要在 R 中执行 POST,这里有一个示例:
posting<-'{
"payers_edrpous": [
"00013534"
],
"recipt_edrpous": [
""
],
"startdate": "2020-03-01",
"enddate": "2020-03-28",
"regions": [
0
]
}'
library(httr)
r <- POST("http://api.spending.gov.ua/api/rest/1.0/transactions", body=posting,
httr::add_headers(`accept` = 'application/json'),
httr::content_type('application/json')) #encode="json"
content(r)
发布是要传递的 JSON 正文,请根据需要进行编辑。所有变量都是字符串,除了 "regions" 它是一个整数,不确定有效范围是多少。
抱歉,我已经尽力了。祝你好运。
我是这个话题的新手,以前看过几个SO答案,但还是想不通。
正在尝试访问 API,使用 R:
curl -X POST "http://api.spending.gov.ua/api/rest/1.0/transactions" -H "accept: application/json" -H
"Content-Type: application/json" -d "{ \"payers_edrpous\": [ \"string\" ], \"recipt_edrpous\": [
\"string\" ], \"startdate\": \"string\", \"enddate\": \"string\", \"regions\": [ 0 ]}"
我现在的阶段
library(httr)
r <- GET("http://api.spending.gov.ua/api/rest/1.0/transactions")
status_code(r)
这有效,我有 200
回复。
但是如何编写查询来获取 json 格式的数据呢?感谢任何提示。
来自@dcruvolo 的 link 很有帮助。
为了让它起作用,您需要从一些有效值开始。从问题中的 API link 中,有一个测试页面可以用来测试提交:
可以替换测试值,然后按 "Execute" 按钮提交值。上面评论中的尝试值,足够有效不会导致错误,但也没有 return 任何有效结果。
要在 R 中执行 POST,这里有一个示例:
posting<-'{
"payers_edrpous": [
"00013534"
],
"recipt_edrpous": [
""
],
"startdate": "2020-03-01",
"enddate": "2020-03-28",
"regions": [
0
]
}'
library(httr)
r <- POST("http://api.spending.gov.ua/api/rest/1.0/transactions", body=posting,
httr::add_headers(`accept` = 'application/json'),
httr::content_type('application/json')) #encode="json"
content(r)
发布是要传递的 JSON 正文,请根据需要进行编辑。所有变量都是字符串,除了 "regions" 它是一个整数,不确定有效范围是多少。
抱歉,我已经尽力了。祝你好运。