我是R的新手,我尝试通过R连接到Rosette API,我在下面得到了curl脚本。我如何将此互联网连接到R?我得到了我的个人API密钥。
curl "https://api.rosette.com/rest/v1/ping" -H 'X-RosetteAPI-Key: [your_api-key]'
由于 佩迪
答案 0 :(得分:3)
curlconverter
包是为此量身定制的。
您可以使用cURL
命令行并将其复制到剪贴板或直接传递。如果您将其复制到剪贴板,则可以使用无参数调用straighten()
:
library(curlconverter)
flat <- straighten()
否则,您可以将其作为字符串传递:
flat <- straighten("curl 'https://api.rosette.com/rest/v1/ping' -H 'X-RosetteAPI-Key: [your_api-key]'")
这会列出您可以传递到make_req()
的所有网址部分:
req <- make_req(flat)[[1]]
make_req()
将该列表转换为功能齐全的httr
调用。它被矢量化,这就是为什么它返回一个或多个函数的列表而不仅仅是一个函数。
如果您只传入一个对象,那么它还会将生成的函数源复制到剪贴板,您可以将其粘贴回IDE中。这个产生:
httr::VERB(verb = "GET", url = "https://api.rosette.com/rest/v1/ping",
httr::add_headers(`X-RosetteAPI-Key` = "[your_api-key]"))
请注意,您也可以通过在R控制台输入req
(无parens)来查看该来源。
我经常检查输出并使其更紧凑:
GET(url = "https://api.rosette.com/rest/v1/ping",
add_headers(`X-RosetteAPI-Key` = "[your_api-key]"))
导入/导出%>%
以便在将cURL
命令行复制到剪贴板后可以执行以下操作:
straighten() %>% make_req() -> req
支持cURL
命令行选项的仙女共同子集。如果缺少一个您需要的,只需file an issue示例。说到例子,gh repo有many more usage examples。