使用带有R的httr包的oauth2.0令牌
发布时间:2020-12-14 00:32:31 所属栏目:Linux 来源:网络整理
导读:问题 包httr在R中提供CURL包装(参见package documentation). 我是HTTP和API的新手.我的麻烦是让oauth2.0认证工作.我尝试了各种语法规范,并获得错误或状态401. 使用oauth2.0令牌并使用httr发出GET()请求的正确方法是什么? 代码尝试 # Set UP url = "https://
问题
包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 Up url = "https://canvas.{institution}.edu/api/v1/courses" key = "{secret_key}" # OPTION 1 GET(url,add_headers(Authorization = paste("Bearer",key,sep = " "))) # OPTION 2 courses.request = GET(url,add_headers(Authorization = "Bearer {secretkey}")) 进一步的解释 > Authorization Header的说明 任何人都可以解释为什么OP的例子不起作用的其他原因? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |