Массив в теле для запроса httr POST

Этот вызов скручивания работает для создания новой капли в Digital Ocean

curl -X POST "https://api.digitalocean.com/v2/droplets" \
   -d '{"name":"test3","region":"nyc2","size":"512mb","image":5562742,"ssh_keys":[89103]}' \
   -H "Authorization: Bearer $TOKEN" 
   -H "Content-Type: application/json"

Тем не менее, у меня проблемы с получениемhttr::POST() запрос на работу только при параметреssh_keys дано. В приведенном выше методеssh_keys Параметр, если указан, должен быть массивом.

Я предположил, что список параметров может быть передан телу, например, гдеssh_keys параметр находится внутри списка

args <- list(name="test3", region="nyc2", size="512mb", image="5562742", ssh_keys=list(891111))
POST(url, config=auth, body=args)

Я предполагаю, что это то, что происходит внутри:

jsonlite::toJSON(args)

[1] "{ \"name\" : [ \"test3\" ], \"region\" : [ \"nyc2\" ], \"size\" : [ \"512mb\" ], \"image\" : [ \"5562742\" ], \"ssh_keys\" : [ [ 89103 ] ] }"

Что, я думаю, сработало бы, но, возможно, это не то, что происходит? Возиться сencode параметр вPOST похоже не помогает.

Вызов curl работает с терминала, но с использованиемhttr::POST() Я продолжаю получать сообщение об ошибке

Вы указали неверные идентификаторы ключей ssh ​​для создания капли.

Ответы на вопрос(2)

Ваш ответ на вопрос