【问题标题】:API authentication using rCURL使用 rCURL 的 API 身份验证
【发布时间】:2016-10-10 11:25:47
【问题描述】:

我是 R 的超级新手,我尝试通过 R 连接到 Rosette API,我得到了下面的 curl 脚本。我如何将此连接到 R?我得到了我的个人 API 密钥。

curl "https://api.rosette.com/rest/v1/ping" -H 'X-RosetteAPI-Key: [your_api-key]'

谢谢 佩迪

【问题讨论】:

    标签: r api authentication rcurl


    【解决方案1】:

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

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

    library(curlconverter)
    
    flat <- straighten()
    

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

    flat <- straighten("curl 'https://api.rosette.com/rest/v1/ping' -H 'X-RosetteAPI-Key: [your_api-key]'")
    

    这会列出所有 URL 部分,然后您可以将其传递给 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(无括号)来查看该来源。

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

    GET(url = "https://api.rosette.com/rest/v1/ping", 
        add_headers(`X-RosetteAPI-Key` = "[your_api-key]"))
    

    它导入/导出%&gt;%,因此可以——在将cURL 命令行复制到剪贴板之后——执行以下操作:

    straighten() %>% make_req() -> req
    

    支持cURL 命令行选项的常见子集。如果缺少您需要的,只需file an issue 举例。说到例子,gh repo 有many more usage examples

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-18
      • 2014-12-03
      • 2014-11-30
      • 1970-01-01
      • 1970-01-01
      • 2016-04-12
      • 1970-01-01
      • 2021-02-28
      相关资源
      最近更新 更多