使用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")
)