将 cURL 语句转换为 HTTR
Converting cURL statement to HTTR
我有一个用 cURL 编写的声明,看起来像这样:
curl --request POST \
--url https://api.secure.com/v1/Test \
--header 'Accept: application/json' \
--header 'Authorization: Basic 123456789==' \
--header 'Content-Type: application/json' \
--data '{"playerId":12827}'
我知道如何分割它,看起来像这样:
POST(
'https://api.secure.com/v1/Test',
accept_json(),
add_headers(Accept = 'application/json',
Authorization = APIKey)
)
但是我迷路了,我在 httr 包文档中找不到如何处理数据标志 (--data '{"playerId":12827}
)
最好的方法是什么?
您需要实际发送数据并设置正确的内容类型。您可以使用 content_type_json()
和 body=
参数执行此操作(将您的数据作为列表传递,POST 将为您将其转换为 JSON)。
APIKey <- "123456789=="
POST(
'https://api.secure.com/v1/Test', # --url https://api.secure.com/v1/Test \
accept_json(), # --header 'Accept: application/json'
content_type_json(), # --header 'Content-Type: application/json'
add_headers(Authorization = APIKey), # --header 'Authorization: Basic 123456789=='
encode = "json",
body=list(playerId = 12827) # --data '{"playerId":12827}'
)
我有一个用 cURL 编写的声明,看起来像这样:
curl --request POST \
--url https://api.secure.com/v1/Test \
--header 'Accept: application/json' \
--header 'Authorization: Basic 123456789==' \
--header 'Content-Type: application/json' \
--data '{"playerId":12827}'
我知道如何分割它,看起来像这样:
POST(
'https://api.secure.com/v1/Test',
accept_json(),
add_headers(Accept = 'application/json',
Authorization = APIKey)
)
但是我迷路了,我在 httr 包文档中找不到如何处理数据标志 (--data '{"playerId":12827}
)
最好的方法是什么?
您需要实际发送数据并设置正确的内容类型。您可以使用 content_type_json()
和 body=
参数执行此操作(将您的数据作为列表传递,POST 将为您将其转换为 JSON)。
APIKey <- "123456789=="
POST(
'https://api.secure.com/v1/Test', # --url https://api.secure.com/v1/Test \
accept_json(), # --header 'Accept: application/json'
content_type_json(), # --header 'Content-Type: application/json'
add_headers(Authorization = APIKey), # --header 'Authorization: Basic 123456789=='
encode = "json",
body=list(playerId = 12827) # --data '{"playerId":12827}'
)