包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令牌所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)