this.authenticate = function (options) { if (!options) { config.auth = undefined; return; } var authObj = null; switch (options.type) { case "oauth": authObj = new Google.auth.OAuth2(); authObj.setCredentials({ access_token: options.access_token || options.token , refresh_token: options.refresh_token }); break; case "key": authObj = options.key; break; case "jwt": authObj = new Google.auth.JWT( options.email , options.keyFile , options.key , options.scopes , options.subject ); break; } Google.options({ auth: authObj }); config.auth = options; return authObj; };
function updateGlobalParams(paramName, value) { tl.debug("Updating Global Parameters"); tl.debug("SETTING " + paramName + " TO " + JSON.stringify(value)); globalParams.params[paramName] = value; google.options(globalParams); tl.debug("Global Params set to " + JSON.stringify(globalParams)); }
this.authenticate = function (options) { if (!options) { config.auth = undefined; return; } var authObj = null; switch (options.type) { case "oauth": authObj = new Google.auth.OAuth2(options.client_id, options.client_secret, options.redirect_url); authObj.setCredentials({ access_token: options.access_token || options.token, refresh_token: options.refresh_token }); break; case "key": authObj = options.key; break; } Google.options({ auth: authObj }); config.auth = options; return authObj; };
module.exports = function(emitter, config, logger, cb) { config = extend(true, {}, require('./config.json'), config); var jwtClient = new google.auth.JWT( config.serviceEmail, config.keyFile, null, [ 'https://www.googleapis.com/auth/admin.directory.user', 'https://www.googleapis.com/auth/admin.directory.user.security' ], config.accountEmail); google.options({ auth: jwtClient }); jwtClient.authorize(function(err) { if (err) { logger.error('google-apps %s: %s', config.domain, err.message); return cb(err); } emitter.on('user.update', update.bind(this, config, 'update', logger)); emitter.on('user.delete', update.bind(this, config, 'delete', logger)); cb(null, config); }); };
function uploadToYoutube(video_file, title, description,tokens, callback){ var google = require("googleapis"), yt = google.youtube('v3'); var oauth2Client = new google.auth.OAuth2("710857957569-cjc5k4m5d7nsqt73dpi16a9aab7aqo7f.apps.googleusercontent.com", "3pqlkqT0QhTJsy3LMlv4x3G1", '/'); oauth2Client.setCredentials(tokens); google.options({auth: oauth2Client}); return yt.videos.insert({ part: 'status,snippet', resource: { snippet: { title: title, description: description }, status: { privacyStatus: 'private' //if you want the video to be private } }, media: { body: fs.createReadStream(video_file) } }, function(error, data){ if(error){ callback(error, null); } else { callback(null, data.id); } }); };
jwtClient.authorize(function(err, tokens) { if (err) { console.info('Ganalytics JWT error ', err); return err; } oauth2Client.setCredentials({access_token: tokens.access_token}); google.options({ auth: oauth2Client }); ganalytics = google.analyticsreporting('v4'); // return ganalytics; });
oauth2Client.getToken(code, function(err, tokens) { if (err) { console.log(err); res.send(err); return; } // console.log(tokens); // EJEMPLO DE OBTENER LOS DATOS DE GOOGLE + DEL USUARIO QUE HA HECHO LOGIN. oauth2Client.setCredentials(tokens); googleapis.options({ auth: oauth2Client }); plus.people.get({ userId: 'me', auth: oauth2Client }, function(err, response) { if (err) { console.log(err); res.send(err); return; } console.log(" ------------- Detalles de usuario ---------------"); console.log("id: " + response.id); console.log("Name: " + response.displayName); console.log("Image url: " + response.image.url); }); // EJEMPLO DE BÚSQUEDA DE UN VIDEO EN YOUTUBE. var youtube = googleapis.youtube({ version: 'v3', auth: oauth2Client }); youtube.search.list({ part: 'snippet', q: 'rubius', maxResults: 1 }, function(err, response) { console.log("----------- Test buscar video ------------"); if (err) { console.log(err); res.send(err); return; } console.log(response.items); }); res.send("check node console for access tokens and personal information"); });
jwtClient.authorize((err, tokens) => { if (err) { reject(err); return; } googleapis.options({ auth: jwtClient }); resolve({ googleapis: googleapis, credentials: jwtClient.credentials, }); });
setAuthClient: function setAuthClient(accessToken, refreshToken) { var OAuth2 = google.auth.OAuth2; var googleAuth = configAuth.googleAuth; var oauth2Client = new OAuth2( googleAuth.clientID, googleAuth.clientSecret, googleAuth.callbackURL); oauth2Client.setCredentials({ access_token: accessToken, refresh_token: refreshToken }); google.options({auth: oauth2Client}); },
oauth2client.getToken(code, function(err, tokens){ oauth2client.setCredentials(tokens); google.options({ auth: oauth2client }); req.session.plus = google.plus({ version: 'v1' }); req.session.drive = google.drive({ version: 'v2' }); req.session.admin = google.admin({ version: 'directory_v1' }); req.session.plus.people.get({ userId: 'me' }, function(err, user){ req.session.email = user.emails[0].value; req.session.admin.users.get({userKey: req.session.email}, function(err, userinfo){ req.session.username = userinfo.name.givenName; req.session.isLoggedIn = true; req.isAdmin = true; res.redirect('/'); }); }); });
// Returns an authorized API client by discovering the Cloud IoT Core API with // the provided API key. function getClient (serviceAccountJson, cb) { const serviceAccount = JSON.parse(fs.readFileSync(serviceAccountJson)); const jwtAccess = new google.auth.JWT(); jwtAccess.fromJSON(serviceAccount); // Note that if you require additional scopes, they should be specified as a // string, separated by spaces. jwtAccess.scopes = 'https://www.googleapis.com/auth/cloud-platform'; // Set the default authentication to the above JWT access. google.options({ auth: jwtAccess }); const discoveryUrl = `${DISCOVERY_API}?version=${API_VERSION}`; google.discoverAPI(discoveryUrl, {}, (err, client) => { if (err) { console.log('Error during API discovery', err); return undefined; } cb(client); }); }
handler: function(info){ ad_client_id = info.text.split(' ')[1].replace(' ', ''); end_date_str = info.text.split(' ')[2].replace(' ', ''); google.options({ auth: oauth2Client }); var auth_url = oauth2Client.generateAuthUrl({ access_type: 'offline', scope: 'https://www.googleapis.com/auth/adexchange.seller.readonly' }); //info.wait('verify'); var reply = { title: '请先授权我帮您查询7日内您的Adx账号数据', pic: 'http://marketing.by/upload/medialibrary/577/doublecklock-logo.png', url: auth_url, description: [ '请在获取验证码后按照\'verify [验证码]\'的格式将验证码发送给我' ].join('\n') }; return reply; }
upload: function(videoId, info, token, callback) { var google = require("googleapis"); var yt = google.youtube('v3'); var oauth2Client = new google.auth.OAuth2(config.oath.client_id, config.oath.app_secret, config.oath.redirect_url); oauth2Client.setCredentials({ access_token: token.access_token, refresh_token: token.refresh_token }); google.options({auth: oauth2Client}); console.log('start uploading...') yt.videos.insert({ part: 'status,snippet', resource: { snippet: { title: info.title, description: info.description }, status: { // privacyStatus: 'public' //if you want the video to be private }, tags: info.tags, category: info.category }, media: { body: fs.createReadStream('assets/video/edited/'+ videoId +'.flv') } }, function(error, data){ if(error){ console.log(error) callback(error, null); } else { callback(null, data); } }); },
run: function(step, dexter) { var OAuth2 = google.auth.OAuth2, oauth2Client = new OAuth2(), credentials = dexter.provider('google').credentials(); // set credential oauth2Client.setCredentials({ access_token: _.get(credentials, 'access_token') }); google.options({ auth: oauth2Client }); var ids = step.input( 'id' ); var dates = step.input( 'internalDate' ); var keepnum = step.input( 'keepnum' ).first(); var user = step.input( 'userId' ).first(); var label = step.input( 'label' ).first(); messages = _.zipWith( ids, dates, function( id, date ) { return { id: id, internalDate: date } } ); messages.sort( function( a, b ) { if ( a.internalDate < b.internalDate ) return -1; if ( a.internalDate > b.internalDate ) return 1; return 0; } ); if ( keepnum > 0 ) messages = messages.slice( 0, 0 - keepnum ); var removes = [ ]; var app = this; messages.forEach( function( item ) { removes.push( unlabel_msg( app, service, user, item.id, label ) ); }) Q.all( removes ) .then( function( results ) { app.complete( ) } ) .fail( function( err ) { app.fail( err ) } ); }
self.auth.authorize(function(err, tokens) { if(err) console.error('Can\'t authorize Google Service Account', err); console.log('Google Service Account authorized', tokens); google.options({ auth: self.auth }) })
usersModel.findById(req.params.id, function(err, user){ if(err) res.send(err); var tokens = {}; console.log(JSON.stringify(user, null, "\t")); tokens.access_token = user.access_token; tokens.token_type = user.token_type; tokens.id_token = user.id_token; tokens.expiry_date = user.expiry_date; oauth2Client.setCredentials(tokens); google.options({ auth: oauth2Client }); //Check if it exists in RDF var queryname = user.name.split(" "); queryname = queryname[0] + queryname[1]; var myquery = qtmp.findUserName({ person: queryname, username: "******" }); // console.log(myquery); var rdfclient = new SparqlClient("http://localhost:3030/tdb/query"); rdfclient.query(myquery).execute(function(error, results) { // console.log(JSON.stringify(results, null, "\t")); // res.send(JSON.stringify(results, null, "\t")); var value = _.pluck(results.results.bindings[0], "value"); var ceva = _.include(value, queryname); //If it exists add the new user if (!_.include(results.results.bindings[0], queryname)){ var add_user = qtmp.addUser({ person: queryname }); var rdfadder = new SparqlClient("http://localhost:3030/tdb/update"); rdfadder.query(add_user).execute(function(err, succ){ if (err) console.log("RDF Error: \n" + err); console.log("Added: " + queryname); }); } }); // Get the events of that user var eventsquery = qtmp.findEventsOf({ person: queryname, evname: "evname", evstart: "evstart" }); rdfclient.query(eventsquery).execute(function(err, results){ console.log(JSON.stringify(results, null, "\t")); var actualrez = results.results.bindings; var the_events = _.reduce(actualrez, function(acm, item, key){ var thing = {}; thing.EventName = item.evname.value; thing.StartDate = item.evstart.value; acm.push(thing); return acm; }, []); res.render("users.jade", { user: user.name, events: the_events }); }); // Q.nfcall(goauth2.userinfo.get, {userId: "me"}).then(function(response){ // res.render("users.jade", { // user: user.name, // stuff: JSON.stringify(user, null, "\t"), // picture: user.picture, // userinfo: JSON.stringify(response, null, "\t") // }); // }, function(err){ // res.render("users.jade", { // user: user.name, // picture: user.picture, // stuff: JSON.stringify(err, null, "\t"), // }); // }); con.close(); });
var request = require('request'); var crypto = require('crypto'); var googleapis = require('googleapis'); var router = express.Router(); var CLIENT_ID = '846221377468-jli3gaffq96jl4c5a74scpbnkvbc71ud.apps.googleusercontent.com', CLIENT_SECRET = 'gNfIErIWeiIjIDAV7d86dTJs', REDIRECT_URL = 'http://localhost:3000/oauth2callback'; var INJECT_JS = fs.readFileSync('inject.js'); var scopes = [ 'https://www.googleapis.com/auth/drive.file' ]; var oauth2Client = new googleapis.auth.OAuth2(CLIENT_ID, CLIENT_SECRET, REDIRECT_URL); googleapis.options({ auth: oauth2Client }); function sha1file(filename, callback) { var shasum = crypto.createHash('sha1'); var s = fs.ReadStream(filename); s.on('data', function(d) { shasum.update(d); }); s.on('end', function() { var d = shasum.digest('hex'); callback(d); }); }
const URL = require('../config/url'); var bodyParser = require('koa-bodyparser'); const _auditlog = require('./models/auditlog'); // load audit log model const _formbuilder = require('./models/formbuilder'); // load formbuilder model let env = process.env; var google = require('googleapis'); var OAuth2 = google.auth.OAuth2; var CLIENT_ID = env.GOOGLE_CLIENT_ID; var CLIENT_SECRET = env.GOOGLE_CLIENT_SECRET; var REDIRECT_URL = URL + '/auth/google/callback'; var API_KEY = env.GOOGLE_API_KEY; var oauth2Client = new OAuth2(CLIENT_ID, CLIENT_SECRET, REDIRECT_URL); google.options({ auth: oauth2Client }); // set auth as a global default var plus = google.plus('v1'); function *index() { console.log("Index:", this.session); yield this.render('index', {session:this.session || {}}); } function *about() { // Here we have access to this.pg.db.client which is client returned from pg.connect(). console.log('Starting about page load:') var result = yield this.pg.db.client.query_('SELECT now()') console.log('result:', result)
var Q = require('q'); var clientId = process.env.GOOGLE_CLIENT_ID; var clientSecret = process.env.GOOGLE_CLIENT_SECRET; var redirectURL = 'http://localhost:3006/google/callback'; var google = require('googleapis'); var OAuth2 = google.auth.OAuth2; var oauth2Client = new OAuth2(clientId, clientSecret, redirectURL); var admin = google.admin('directory_v1'); google.options({ auth: oauth2Client }); var scopes = [ 'https://www.googleapis.com/auth/admin.directory.user.readonly', 'https://www.googleapis.com/auth/admin.directory.user' ]; var authorizationURL = function() { return oauth2Client.generateAuthUrl({ access_type: 'online', scope: scopes }); }; var setCode = function(code) { var deferred = Q.defer(); oauth2Client.getToken(code, function(err, tokens) { if (err) return deferred.reject(err);
var ft = google.fusiontables('v2'); // retrieves class. 'V2' = version 2 of fusion tables // Client ID and client secret are available at // https://code.google.com/apis/console var client_secrets = JSON.parse(fs.readFileSync('/home/ubuntu/workspace/client_secrets.json')); var CLIENT_ID = client_secrets.web.client_id; var CLIENT_SECRET = client_secrets.web.client_secret; // location of the page google will return the user to after once client is // logged into their google account and allowed permissions. var REDIRECT_URL = 'https://builder2-deisingj1.c9users.io/fusiontable/auth'; // var oauth2Client = new OAuth2Client(CLIENT_ID, CLIENT_SECRET, REDIRECT_URL); google.options({ auth: oauth2Client // sets this OAuth2Client as the authentication method }); module.exports = { setRefreshToken: function(tokens) { oauth2Client.setCredentials({ refresh_token: tokens.refresh_token }); }, blank: function() { return {}; }, get: function(ret) { var url = oauth2Client.generateAuthUrl({ access_type: 'offline', // will return a refresh token scope: 'https://www.googleapis.com/auth/fusiontables.readonly' // can be a space-delimited string or an array of scopes
const google = require('googleapis') google.options({ }) var OAuth2 = google.oauth2('v2') var isOp = require('../../is-op').isOp const ENV = require('../../env') console.log(ENV) const REDIRECT_URL = ENV.HOST + "/auth/~google-oauth2" // exports.getAuthOrRefresh // Helper to create OAuth2 Client function createOAuthClient() { return new google.auth.OAuth2(ENV.CLIENT_ID, ENV.CLIENT_SECRET, REDIRECT_URL) } exports.getAuth = function (access_token) { // Access token provided from logging in. var oauth2Client = createOAuthClient() oauth2Client.setCredentials({ access_token: access_token }) return oauth2Client } exports.getCalendar = function () { return google.calendar({ version: 'v3' })
export default function() { let authClient = new JWT(client_email, null, private_key, SCOPES, null); google.options({ auth: authClient }); // set auth as a global default }