使用 httr 在 R 中卷曲保管箱请求

Curl dropbox request in R using httr

我有这个示例 curl 请求:

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

这是行不通的。我也不确定 --data-binary 在做什么。文档似乎对此没有任何说明,所以我想知道这是否是 HTTP 中的一些标准参数。

如果需要,可以找到上传点的文档here

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