Using oauth2.0 tokens with R's httr package
Solution
In this particular use case—working with the Canvas API—additional information is required in the header of the request.
Using the GET
function from the httr
R package, use the add_header
parameter to supply the argument including your oauth2 key.
Use Option 1 if you don't want to hard code your key into the request (recommended). Or, use Option 2 and insert the key as a string. But in both cases, "Bearer " precedes the key.
# 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 {secret_key}"))
#Further Explanations
- Explanation of Authorization Header
- Rationale for why "Bearer " must go before the key.
- The OAuth Bible is useful for understanding components of a request
Can anyone else explain other reasons why the OP's examples didn't work?