首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于rCURL的API认证

基于rCURL的API认证
EN

Stack Overflow用户
提问于 2016-10-10 11:25:47
回答 1查看 958关注 0票数 0

我是超级新手R,我试图通过R连接到Rosette,我得到了下面的卷曲脚本。我怎么把这个上网给R?我拿到了我的个人API密钥。

代码语言:javascript
复制
curl "https://api.rosette.com/rest/v1/ping" -H 'X-RosetteAPI-Key: [your_api-key]'

谢谢佩蒂

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-10-10 11:38:29

curlconverter包就是为此量身定做的.

您可以使用您的cURL命令行并将其复制到剪贴板或直接传递它。如果将其复制到剪贴板,则调用没有参数的straighten()

代码语言:javascript
复制
library(curlconverter)

flat <- straighten()

否则,您可以将其作为字符串传入:

代码语言:javascript
复制
flat <- straighten("curl 'https://api.rosette.com/rest/v1/ping' -H 'X-RosetteAPI-Key: [your_api-key]'")

,它列出了所有URL部件的列表,然后可以传递到make_req()中。

代码语言:javascript
复制
req <- make_req(flat)[[1]]

make_req()将该列表转换为一个功能齐全的httr调用。它是矢量化的,这就是为什么它返回一个或多个函数的列表,而不是仅仅返回一个函数。

如果您只传入一个对象,那么它也会将生成的函数源复制到剪贴板,您可以将其粘贴回IDE中。这一条产生了:

代码语言:javascript
复制
httr::VERB(verb = "GET", url = "https://api.rosette.com/rest/v1/ping", 
    httr::add_headers(`X-RosetteAPI-Key` = "[your_api-key]"))

请注意,您也可以通过在R控制台输入req (没有父类)来查看该源。

我通常检查输出并使其更加紧凑:

代码语言:javascript
复制
GET(url = "https://api.rosette.com/rest/v1/ping", 
    add_headers(`X-RosetteAPI-Key` = "[your_api-key]"))

它导入/导出%>%,以便-在将cURL命令行复制到剪贴板-do之后:

代码语言:javascript
复制
straighten() %>% make_req() -> req

支持cURL命令行选项的line公共子集。如果缺少一个您需要的,只需使用提出问题示例即可。说到例子,有更多的使用示例在gh。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39957179

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档