edit-google-spreadsheet
Advanced tools
Comparing version 0.2.17 to 0.2.18
var GoogleClientLogin = require('googleclientlogin').GoogleClientLogin; | ||
var GoogleOAuthJWT = require('google-oauth-jwt'); | ||
var GoogleOAuthClient = require('googleapis').auth.OAuth2; | ||
@@ -10,2 +11,4 @@ //client auth helper | ||
oauthLogin(opts.oauth, opts.useHTTPS, done); | ||
else if(opts.oauth2) | ||
oAuth2Login(opts.oauth2, done); | ||
else if(opts.accessToken) | ||
@@ -47,2 +50,21 @@ accessTokenLogin(opts.accessToken, done); | ||
function oAuth2Login(oauth2, done ) { | ||
var oAuth2Client = new GoogleOAuthClient(oauth2.client_id, oauth2.client_secret, 'urn:ietf:wg:oauth:2.0:oob'); | ||
oAuth2Client.setCredentials({ | ||
access_token: 'DUMMY', | ||
expiry_date: 1, | ||
refresh_token: oauth2.refresh_token, | ||
token_type: 'Bearer' | ||
}); | ||
oAuth2Client.getAccessToken(function(err, token) { | ||
if (err) | ||
done('Google OAuth2 Error: ' + err); | ||
else | ||
done(null, {type: 'Bearer', token: token }); | ||
}); | ||
} | ||
function accessTokenLogin(accessToken, done) { | ||
@@ -63,2 +85,2 @@ function gotToken(err, t) { | ||
done("Invalid access token"); | ||
} | ||
} |
@@ -19,3 +19,3 @@ "use strict"; | ||
throw "Missing callback"; | ||
if (!(opts.username && opts.password) && !opts.oauth && !opts.accessToken) | ||
if (!(opts.username && opts.password) && !opts.oauth && !opts.oauth2 && !opts.accessToken) | ||
return callback("Missing authentication information"); | ||
@@ -22,0 +22,0 @@ if (!opts.spreadsheetId && !opts.spreadsheetName) |
{ | ||
"name": "edit-google-spreadsheet", | ||
"version": "0.2.17", | ||
"version": "0.2.18", | ||
"dependencies": { | ||
@@ -8,2 +8,3 @@ "async": "^0.9.0", | ||
"google-oauth-jwt": "0.0.4", | ||
"googleapis": "2.0.4", | ||
"googleclientlogin": "~0.2.6", | ||
@@ -10,0 +11,0 @@ "lodash": "^2.4.1", |
## Edit Google Spreadsheet | ||
--- | ||
:warning: Google has finally deprecated Client Logins, which means you can no longer authenticate with your email and password. See https://github.com/jpillora/node-edit-google-spreadsheet/issues/72 for updates. | ||
--- | ||
> A simple API for reading and writing Google Spreadsheets in Node.js | ||
@@ -26,8 +32,6 @@ | ||
// Choose from 1 of the 4 authentication methods: | ||
// 1. Username and Password | ||
username: 'my-name@google.email.com', | ||
password: 'my-5uper-t0p-secret-password', | ||
// Choose from 1 of the 5 authentication methods: | ||
// 1. Username and Password has been deprecated | ||
// OR 2. OAuth | ||
@@ -39,3 +43,10 @@ oauth : { | ||
// OR 3. Static Token | ||
// OR 3. OAuth2 | ||
oauth2: { | ||
client_id: 'generated-id.apps.googleusercontent.com', | ||
client_secret: 'generated-secret', | ||
refresh_token: 'token generated with get_oauth2_permission.js' | ||
}, | ||
// OR 4. Static Token | ||
accessToken: { | ||
@@ -46,3 +57,3 @@ type: 'Bearer', | ||
// OR 4. Dynamic Token | ||
// OR 5. Dynamic Token | ||
accessToken: function(callback) { | ||
@@ -49,0 +60,0 @@ //... async stuff ... |
31794
10
660
290
8
+ Addedgoogleapis@2.0.4
+ Addedansi-regex@2.1.1(transitive)
+ Addedansi-styles@2.2.1(transitive)
+ Addedasn1@0.1.11(transitive)
+ Addedassert-plus@0.1.50.2.0(transitive)
+ Addedasync@1.4.22.6.4(transitive)
+ Addedaws-sign2@0.5.00.6.0(transitive)
+ Addedbase64url@0.0.61.0.6(transitive)
+ Addedbl@0.9.51.1.2(transitive)
+ Addedbluebird@2.11.0(transitive)
+ Addedboom@2.10.1(transitive)
+ Addedbuffer-equal-constant-time@1.0.1(transitive)
+ Addedcamelcase@1.2.1(transitive)
+ Addedcamelcase-keys@1.0.0(transitive)
+ Addedcaseless@0.11.00.9.0(transitive)
+ Addedchalk@1.1.3(transitive)
+ Addedcombined-stream@0.0.7(transitive)
+ Addedcommander@2.20.3(transitive)
+ Addedconcat-stream@1.4.11(transitive)
+ Addedcore-util-is@1.0.3(transitive)
+ Addedcryptiles@2.0.5(transitive)
+ Addedctype@0.5.3(transitive)
+ Addeddelayed-stream@0.0.5(transitive)
+ Addedecdsa-sig-formatter@1.0.11(transitive)
+ Addedescape-string-regexp@1.0.5(transitive)
+ Addedform-data@0.2.01.0.1(transitive)
+ Addedgapitoken@0.1.5(transitive)
+ Addedgenerate-function@2.3.1(transitive)
+ Addedgenerate-object-property@1.2.0(transitive)
+ Addedget-stdin@4.0.1(transitive)
+ Addedgoogle-auth-library@0.9.10(transitive)
+ Addedgoogle-p12-pem@0.1.2(transitive)
+ Addedgoogleapis@2.0.4(transitive)
+ Addedgtoken@1.2.3(transitive)
+ Addedhar-validator@1.8.02.0.6(transitive)
+ Addedhas-ansi@2.0.0(transitive)
+ Addedhawk@2.3.13.1.3(transitive)
+ Addedhoek@2.16.3(transitive)
+ Addedhttp-signature@0.10.11.1.1(transitive)
+ Addedindent-string@1.2.2(transitive)
+ Addedinherits@2.0.4(transitive)
+ Addedis-finite@1.1.0(transitive)
+ Addedis-my-ip-valid@1.0.1(transitive)
+ Addedis-my-json-valid@2.20.6(transitive)
+ Addedis-property@1.0.2(transitive)
+ Addedisarray@0.0.11.0.0(transitive)
+ Addedjsonpointer@5.0.1(transitive)
+ Addedjwa@1.0.2(transitive)
+ Addedjws@3.0.0(transitive)
+ Addedlodash@4.17.21(transitive)
+ Addedlodash.noop@3.0.1(transitive)
+ Addedmap-obj@1.0.1(transitive)
+ Addedmeow@2.0.0(transitive)
+ Addedmime@1.6.0(transitive)
+ Addedmime-db@1.12.0(transitive)
+ Addedmime-types@2.0.14(transitive)
+ Addedminimist@1.2.8(transitive)
+ Addednode-forge@0.7.6(transitive)
+ Addednode-uuid@1.4.8(transitive)
+ Addedoauth-sign@0.6.00.8.2(transitive)
+ Addedobject-assign@1.0.0(transitive)
+ Addedpinkie@2.0.4(transitive)
+ Addedpinkie-promise@2.0.1(transitive)
+ Addedprocess-nextick-args@1.0.7(transitive)
+ Addedpunycode@1.4.1(transitive)
+ Addedqs@2.4.26.2.4(transitive)
+ Addedquerystringify@2.2.0(transitive)
+ Addedreadable-stream@1.0.341.1.142.0.6(transitive)
+ Addedrepeating@1.1.3(transitive)
+ Addedrequest@2.54.02.74.0(transitive)
+ Addedrequires-port@1.0.0(transitive)
+ Addedsntp@1.0.9(transitive)
+ Addedstring-template@0.2.1(transitive)
+ Addedstring_decoder@0.10.31(transitive)
+ Addedstringstream@0.0.6(transitive)
+ Addedstrip-ansi@3.0.1(transitive)
+ Addedsupports-color@2.0.0(transitive)
+ Addedtough-cookie@2.3.44.1.4(transitive)
+ Addedtunnel-agent@0.4.3(transitive)
+ Addedtypedarray@0.0.7(transitive)
+ Addeduniversalify@0.2.0(transitive)
+ Addedurl-parse@1.5.10(transitive)
+ Addedutil-deprecate@1.0.2(transitive)
+ Addedxtend@4.0.2(transitive)