brightcove-video-search
Version:
Videos from brightcove
59 lines (49 loc) • 1.41 kB
JavaScript
const clientOauth2 = require('client-oauth2');
const requestPromise = require('request-promise');
const fs = require('fs');
const TOKEN_REQUEST_URL = 'https://oauth.brightcove.com/v3/access_token';
const VIDEO_SOURCEURL = 'https://cms.api.brightcove.com/v1/accounts/4221396001/videos';
function getVideoSources(token, queryOpts) {
var options = {
'method': 'GET',
'url': VIDEO_SOURCEURL,
'headers': {
'Authorization': 'Bearer ' + token,
'Content-Type': 'application/json'
}
};
if(queryOpts) {
options.qs = queryOpts;
}
return requestPromise(options);
};
function getToken() {
var brightcoveAuth = new clientOauth2({
clientId: CLIENT_ID,
clientSecret: CLIENT_SECRET,
accessTokenUri: TOKEN_REQUEST_URL
});
return brightcoveAuth.credentials.getToken();
}
function searchVideoSource(queryOpts) {
return new Promise((resolve, reject) => {
var tokenRslt = getToken();
tokenRslt.then(response => {
getVideoSources(response.data.access_token, queryOpts)
.then(response => {
resolve(response);
}).catch(err => {
reject(err);
});
}).catch(err => {
reject(err);
});
});
}
module.exports = (injected_client_id, injected_client_secret) => {
CLIENT_SECRET = injected_client_secret
CLIENT_ID = injected_client_id
return {
searchVideoSource: searchVideoSource
}
}