сделать конкретный запрос с помощью httr

Как мне сделать этот запрос с httr?

'curl -X POST https://api.dropboxapi.com/2/files/list_folder \
    --header "Authorization: Bearer 21318318usdhsdha9283718 " \
    --header "Content-Type: application/json" \
    --data "{\"path\": \"/today/\",\"recursive\": false,\"include_media_info\": false,\"include_deleted\": false}"'

Я пытался использовать curlconverter, но это не сработало. Я не уверен, как бы я реализовал параметр --data и что за этим следует.


person jgozal    schedule 12.03.2016    source источник
comment
Вы должны удалить свой токен из своего вопроса.   -  person Xiongbing Jin    schedule 12.03.2016
comment
это поддельный токен естественно   -  person jgozal    schedule 12.03.2016


Ответы (1)


это работает для меня, это работает для вас?

httr::POST(
  "https://api.dropboxapi.com/2/files/list_folder",
  add_headers(Authorization = "Bearer <token>"),
  content_type_json(),
  body = "{\"path\": \"/folder\",\"recursive\": false,\"include_media_info\": false,\"include_deleted\": false}",
  encode = "json"
)

Если вы хотите немного обобщить для многих папок:

library("httr")
foobar <- function(x) {
  content(POST(
    "https://api.dropboxapi.com/2/files/list_folder",
    add_headers(Authorization = "Bearer <token>"),
    content_type_json(),
    body = list(path = paste0("/", x), recursive = FALSE, 
                include_media_info = FALSE, include_deleted = FALSE),
    encode = "json"
  ))
}

lapply(c('a', 'b', "c"), foobar)
person sckott    schedule 12.03.2016
comment
благодарю вас. Куда бы вы порекомендовали мне обратиться, если я хочу узнать больше о том, как лучше структурировать мои запросы curl в httr? Я понятия не имел, что содержимое параметра данных можно просто поместить в тело - person jgozal; 12.03.2016
comment
еще небольшой вопрос. Если бы у вас была переменная, а не строка папки, как бы вы соединили ее там? У меня возникли проблемы с paste().... - person jgozal; 12.03.2016
comment
httr есть несколько виньеток cran.rstudio.com/web/packages/httr - Я написал в блоге о различных вариантах скручивания, используя httr ropensci.org/blog/ 2014/12/18/curl-options - для переменного вопроса я не уверен, что вы спрашиваете - person sckott; 12.03.2016
comment
Большое спасибо за ваш блог! Извините за отсутствие разъяснений. Я перебираю имена папок, поэтому я хотел бы вставить переменную вместо строки «папка» в параметре body. Однако у меня возникли проблемы с использованием вставки внутри функции httr. Как бы вы объединили строку и переменную внутри? - person jgozal; 12.03.2016
comment
Ага, понятно. Я окружал параметры с помощью paste(). Понятно, почему это не сработало. Большое спасибо! - person jgozal; 12.03.2016
comment
нет проблем, и вы можете видеть во втором блоке кода, что я только что использовал список R, который, вероятно, легче читать и работает так же, как ввод json - person sckott; 12.03.2016