google-auto-oauth2
v1.1.7
Published
Automatically get google oauth2 token by given username, password, clientID, clientSecret.
Downloads
19
Readme
google-auto-oauth2
Automatically get google oauth2 token by given username, password, clientID, clientSecret.
npm i google-auto-oauth2 --save
ex.
const google = require('googleapis')
const OAuth2 = google.auth.OAuth2
const googleAutoOauth2 = require('google-auto-oauth2')
const CLIENT_ID = 'xxxxxx.apps.googleusercontent.com'
const CLIENT_SECRET = 'xxxxxx'
const REDIRECT_URL = 'urn:ietf:wg:oauth:2.0:oob'
var params = {
email: '[email protected]',
password: 'xxxxxx'
}
var scopes = [
'https://picasaweb.google.com/data/'
]
var url = oauth2Client.generateAuthUrl({
access_type: 'offline', // 'online' (default) or 'offline' (gets refresh_token)
scope: scopes // If you only need one scope you can pass it as string
})
googleAutoOauth2.options = { //nightmare options
show: true,
webPreferences:{
partition: 'nopersist',
}
}
googleAutoOauth2.getCode(url, params, 20000).then(data => {
oauth2Client.getToken(data.code, function(err, tokens) {
if(!err) {
console.log(tokens);
}
})
}).catch((error) => console.log(error))
Some times you may meet a challenge where google asks you for phone number and reset the password. Be careful, this will reset your password.
const google = require('googleapis')
const OAuth2 = google.auth.OAuth2
const googleAutoOauth2 = require('../')
const randomstring = require("randomstring")
const CLIENT_ID = 'xxxxxx.apps.googleusercontent.com'
const CLIENT_SECRET = 'xxxxxx'
const REDIRECT_URL = 'urn:ietf:wg:oauth:2.0:oob'
var oauth2Client = new OAuth2(CLIENT_ID, CLIENT_SECRET, REDIRECT_URL)
var scopes = [
'https://picasaweb.google.com/data/'
]
var url = oauth2Client.generateAuthUrl({
access_type: 'offline', // 'online' (default) or 'offline' (gets refresh_token)
scope: scopes // If you only need one scope you can pass it as string
})
var params = {
email: '[email protected]',
password: 'xxxx',
challenge: {
phoneNumber: '17028141496',
password: randomstring.generate(), //reset password to a random string
},
debug: true
}
googleAutoOauth2.options = {
show: true,
webPreferences:{
partition: 'nopersist',
}
}
googleAutoOauth2.getCode(url, params, 20000).then(data => {
console.log(data.code)
console.log(data.password) // output the new password.
oauth2Client.getToken(code, function(err, tokens) {
if(!err) {
console.log(tokens);
}
})
}).catch((error) => console.log(error))