2017-07-06 70 views
1

問題

封裝httr提供中的R CURL包裝(參見package documentation)。使用的OAuth2.0令牌,其中R的HTTR包

我是全新的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 

回答

1

在這個特定的用例的工作與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的例子沒有工作等原因有用嗎?

  • 相關問題