Skip to content

After many battles with nodejs server authentication against Google APIs (Drive in particular), I've come up with an NPM module that needs only a well configured client_secrets.json and it will save the token locally and try to reuse it when it's there.

License

Notifications You must be signed in to change notification settings

rainabba/oauth-token-generator-google

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

oauth-token-generator-google

After many battles with nodejs server authentication against Google APIs (Drive in particular), I've come up with an NPM module that needs only a well configured client_secrets.json and it will save the token locally and try to reuse it when it's there. After retrieving a token, a full oauth client is returned with that token in place. That client can be used for googleapi calls configured for the client_id in the client_secret.json

My reasons for doing this may be inferred from googleapis/google-api-nodejs-client#266 (comment)

This script is intended to help you use a google API client_secret.json file to obtain an OAUTH token (json data) and store it next to the source .json for future use.

To acomplish this, you will be given an URL that you can follow to get a "code" which can then be used to get a token. As an I/O solution I run this script with node --inspect-brk and then I catch the debugger after the URL is logged to the console. Once I have the code, I can run code="{codeFromUrl}" and resume the script.

See test/index.js for a full example of how to use this library and retrieve a list of files in root of Drive for the configured credentials.

The default test assumes you have created a private/client_secret.json in the project folder. The private/ folder is in .gitignore and that path is fully configurable as the only thing provided when executing the module.

npm test to run basic tests. npm run test:dev to test with debugging (to troubleshoot your file path, contents, etc.. until you get things working as expected with this plugin)

About

After many battles with nodejs server authentication against Google APIs (Drive in particular), I've come up with an NPM module that needs only a well configured client_secrets.json and it will save the token locally and try to reuse it when it's there.

Resources

License

Stars

Watchers

Forks

Packages

No packages published