使用带有R的httr包的oauth2.0令牌

使用带有R的httr包的oauth2.0令牌,第1张

概述问题 包httr在R中提供CURL包装(参见package documentation). 我是HTTP和API的新手.我的麻烦是让oauth2.0认证工作.我尝试了各种语法规范,并获得错误或状态401. 使用oauth2.0令牌并使用httr发出GET()请求的正确方法是什么? 代码尝试 # Set UP url = "https://canvas.{institution}.edu/ap 问题

包httr在R中提供CURL包装(参见package documentation).

我是http和API的新手.我的麻烦是让oauth2.0认证工作.我尝试了各种语法规范,并获得错误或状态401.

使用oauth2.0令牌并使用httr发出GET()请求的正确方法是什么?

代码尝试

# Set UP  url = "https://canvas.{institution}.edu/API/v1/courses"  key = "{secret_key}"# 1  GET(url,sign_oauth2.0(key))   # Error: Deprecated: supply token object to config directly# 2  GET(url,config(sign_oauth2.0 = key))   # unkNown option: sign_oauth2.0# 3  GET(url,config = List(sign_oauth2.0 = key))   # Status 401
解决方法 解

在此特定用例中,在请求标题中需要使用Canvas API附加信息.

使用httr R包中的GET函数,使用add_header参数提供包含oauth2键的参数.

如果您不想将密钥硬编码到请求中,请使用选项1(推荐).或者,使用选项2并将密钥作为字符串插入.但在这两种情况下,“持票人”都先于钥匙.

# Set Upurl = "https://canvas.{institution}.edu/API/v1/courses"key = "{secret_key}"# OPTION 1GET(url,add_headers(Authorization = paste("Bearer",key,sep = " ")))# OPTION 2courses.request = GET(url,add_headers(Authorization = "Bearer {secretkey}"))

进一步的解释

> Authorization Header的说明
>为什么“Bearer “必须在钥匙之前去的理由.
> OAuth Bible对于理解请求的组件很有用

任何人都可以解释为什么OP的例子不起作用的其他原因?

总结

以上是内存溢出为你收集整理的使用带有R的httr包的oauth2.0令牌全部内容,希望文章能够帮你解决使用带有R的httr包的oauth2.0令牌所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/1023699.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存