Я пытаюсь аутентифицировать Brightcove Analytics API (OAuth 2.0) с R. Моей первой попыткой было использование функций oauth в пакете httr, и я попытался выполнить следующие действия.
1) Создайте переменную для моего приложения, используя открытый и секретный ключ. Готово:
library("httr")
myapp <- oauth_app("MyBrightcoveApp", key="mykeyhere", secret = "mysecrethere")
2) Найдите настройки OAuth для Brightcove. Для функции oauth_endpoint() требуется URL-адрес доступа, который я нашел "https://oauth.brightcove.com/v3/access_token", и URL-адрес авторизации, который я не нашел. Я не уверен, что Brightcove разрешает аутентификацию учетной записи в браузере.
Моей следующей попыткой было использовать функцию httr::POST(). Я посмотрел пример кода Brightcove node.js:
var request = require('request');
var client_id = "{your_client_id}";
var client_secret = "{your_client_secret}";
var auth_string = new Buffer(client_id + ":" + client_secret).toString('base64');
console.log(auth_string);
request({
method: 'POST',
url: 'https://oauth.brightcove.com/v3/access_token',
headers: {
'Authorization': 'Basic ' + auth_string,
'Content-Type': 'application/x-www-form-urlencoded'
},
body: 'grant_type=client_credentials'
}, function (error, response, body) {
console.log('Status: ', response.statusCode);
console.log('Headers: ', JSON.stringify(response.headers));
console.log('Response: ', body);
console.log('Error: ', error);
});
который я пытаюсь перевести на R. Я начал с:
library(httr)
client_id <- "myClientIDhere"
client_secret <- "mySecretHere"
auth_string <- paste0(client_id, ":", client_secret)
но я не могу получить необходимые данные в свой запрос POST.
myresponse <- POST(myrequest, username=auth_string, httpheader='Content-type: application/x-www-form-urlencoded', body = 'grant_type=client_credentials' )
показывает myresponse$request$auth_token как NULL. Так же
myresponse <- POST(myrequest, authenticate(client_id, client_secret), httpheader='Content-type: application/x-www-form-urlencoded', body = 'grant_type=client_credentials' )
Есть идеи, что мне может не хватать?