UNPKG

brightcove-video-search

Version:

Videos from brightcove

59 lines (49 loc) 1.41 kB
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 } }