【问题标题】:Generate OAuth Token using R使用 R 生成 OAuth 令牌
【发布时间】:2021-09-28 10:17:50
【问题描述】:

新手 - 第一次尝试通过 API 和使用 R 提取数据。

我获得了 API Key 和 Secret。

转换为base64。

现在对下一步感到困惑,我的说明表明我应该“在标头和请求正文中输入生成的 base64value 并调用令牌 URI,如下所示;

[代码] 授权:基本 {base64value} 内容类型:application/x-www-form-urlencoded 发布https://api.destination.com/oauth/token grant_type=client_credentials [/代码]

任何关于 R 是否可用于获取 OAuth 令牌的见解?

如果是这样,我需要安装哪些必需的软件包?

具体步骤是什么?

目前正在阅读几本关于 R 的书籍,但认为有人能够提供一些见解。

提前致谢。

【问题讨论】:

    标签: r api oauth token generate


    【解决方案1】:

    httr 包是开始学习 R 中 API 的好地方。如果您还没有被引导到那里,我强烈建议您花时间去check it out

    library(httr)
    
    base64_value <- your_generated_base64string
    
    response <- 
      POST(url = "https://api.precisely.com/oauth/token",
           add_headers(Authorization = paste("Basic", base64_value))
           body = list(grant_type = "client_credentials"),
           encode = "form")
    
    # we're hoping this is 200
    response$status
    

    【讨论】:

    • 响应 [api.destination.com/oauth/token] 日期:2021-07-22 09:22 状态:401 内容类型:应用程序/json 大小:94 B
    • 您能提供原始文档的链接吗?
    • docs.precisely.com/docs/sftw/precisely-apis/main/en-us/webhelp/… library(httr) base64_value api.precisely.com/oauth/token", httr::add_headers(Authorization = paste("Basic", 123456899999 =)), body = list(grant_type = "client_credentials"), encode = "form" ) 粘贴错误("Basic", 123456899999) : 参数丢失,没有默认值
    • 您的通话中有两个错误。首先是您的网址不包含网址的https:// 部分。第二个是你的 base64 字符串没有被引用。由于末尾的=,它试图评估或分配。编辑了答案。
    • 还有其他见解吗?
    【解决方案2】:

    以下代码不起作用。结果是状态码 401。

    在多次尝试之后,也许我需要再次重新生成另一个密钥和秘密。然后,获取另一个 base64 值。然后,再试一次。其他选择包括尝试 Rcurl 甚至尝试 Python。

    我假设服务器在多次尝试失败后最终锁定了一个 base64 值。

    欣赏时间/洞察力。

    感谢任何额外的见解。

    library(httr)
    
    base64_value <-
      "123456789="
      
    
    response14 <-
      httr::POST (url = "https://api.precisely.com/oauth/token",
                 httr::add_headers(Authorization = paste("Basic", base64_value)),
                 body = list(grant_type = "client_credentials"),
                 encode = "form"
                 )
    

    【讨论】:

      【解决方案3】:

      最新迭代。

      收到的错误与超时有关。

      library(httr)
      
      base64_value <-
        "123456789="
        
      
      response14 <-
        httr::POST (url = "https://api.precisely.com/oauth/token",
                   httr::add_headers(Authorization = paste("Basic", "123456789=")),
                   body = list(grant_type = "client_credentials"),
                   encode = "form"
                   )
      

      curl::curl_fetch_memory(url, handle = handle) 中的错误: 已达到超时:[api.precisely.com] 10000 毫秒后解析超时

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-01-13
        • 2018-09-16
        • 2020-08-10
        • 2022-09-28
        • 1970-01-01
        • 1970-01-01
        • 2015-04-28
        • 1970-01-01
        相关资源
        最近更新 更多