使用httr在R中执行Curl dropbox请求
我有一个示例卷曲请求:使用httr在R中执行Curl dropbox请求,r,httr,R,Httr,我有一个示例卷曲请求: curl -X POST https://content.dropboxapi.com/2/files/upload \ --header "Authorization: Bearer fakeaccesstoke12345" \ --header "Dropbox-API-Arg: {\"path\": \"/Homework/math/Matrices.txt\",\"mo
curl -X POST https://content.dropboxapi.com/2/files/upload \
--header "Authorization: Bearer fakeaccesstoke12345" \
--header "Dropbox-API-Arg: {\"path\": \"/Homework/math/Matrices.txt\",\"mode\": \"add\"}" \
--header "Content-Type: application/octet-stream" \
--data-binary @local_file.txt
我试着这样翻译成httr:
httr::POST(
"https://content.dropboxapi.com/2/files/upload",
add_headers(Authorization = "Bearer fakeaccesstoke12345",
`Dropbox-API-Arg` = paste("{\"path\": \"/folder/", FileName, "\"mode\": \"add\"}", sep = ''),
`Content-Type` = "Content-Type: application/octet-stream"
)
)
这是行不通的。我也不确定-数据二进制正在做什么。文档似乎没有对此做任何说明,所以我想知道这是否是HTTP中的一些标准参数
如果需要,可以找到upload enpoint的文档。有一个R包,可以进行dropbox上载。。。我知道rdrop2,但如果可能的话,我更愿意采用HTTP方式。很高兴在尝试第80次配置之前发现了这一点。非常感谢。
library(httr)
library(jsonlite)
POST(
'https://content.dropboxapi.com/2/files/upload',
add_headers(
Authorization = "Bearer <token>",
`Dropbox-API-Arg` =
jsonlite::toJSON(
list(path = "/books.csv", mode = "add", autorename = TRUE, mute = FALSE),
auto_unbox = TRUE
)
),
content_type("application/octet-stream"),
body = upload_file("books.csv")
)