在R中编写此Curl POST的正确方法是什么? 我想让R读取文件的内容为"值"在帖子中。
curl -X POST https://api.priceapi.com/jobs \
-d "token=token" \
-d "country=country" \
-d "source=source" \
-d "currentness=currentness" \
-d "completeness=completeness" \
-d "key=key" \
-d 'values=<values>'
到目前为止,我有这个 -
library(RCurl)
library(RJSONIO)
url = "https://api.priceapi.com/jobs"
file.name = ".../output 1 .txt"
results = postForm(url, token="token",
country="country,
source="source",
currentness="currentness",
completeness="completeness,
key="key",
values=fileUpload(filename = file.name))
它返回&#34;错误:错误请求&#34;
我也尝试使用httr post request -
r = POST(url, body = list(token="token",
country="country,
source="source",
currentness="currentness",
completeness="completeness,
key="key",
values=upload_file(file.name)) )
这里upload_file没有上传文件的内容,但我猜它是将文件路径(作为字符串)传递给&#34;值&#34; parmeter。 当然,这不会返回正确的结果。
httr POST请求的结果是;
Response [https://api.priceapi.com/jobs]
Date: 2016-12-13 10:11
Status: 400
Content-Type: application/json; charset=utf-8
Size: 228 B
{
"success": false,
"reason": "parameter value invalid",
"parameter": "value",
"valid values": "An array or a string containing values separated by newline",
"comment": "Make sure the parameter 'value' has a valid value!"
答案 0 :(得分:0)
我可以使用
来解决这个问题file=readLines(".../output 1.txt")
inputValues <- paste(file,collapse="\n")
然后在inputValues
参数中传递values
。