google-tokens

Tool for generating google OAuth tokens

Usage no npm install needed!

<script type="module">
  import googleTokens from 'https://cdn.skypack.dev/google-tokens';
</script>

README

Google-tokens

Tool for getting Google Cloud API OAuth tokens (refresh token)

Why?

Getting started

  1. Sign-up for a Google Cloud API account.
  2. Create an API project with an OAuth client id and add a 'Authorized redirect URI' of http://localhost:3000/callback.
  3. Obtain your client_id & client_secret from the credentials JSON file from the console

Steps to generate .gtokens.json

  1. git clone https://github.com/bradoyler/google-tokens.git
  2. copy .gtokens.example.json to .gtokens.json
  3. fill in client_id and client_secret
  4. install & run
npm install
npm start
  1. follow prompt and copy refresh_token to your '.gtokens.json'

API

const GoogleTokens = require('google-tokens')
const tokens = new GoogleTokens({ client_id, client_secret }) // OAuth credentials 

const scope = [
  'https://www.googleapis.com/auth/drive',
  'https://www.googleapis.com/auth/drive.readonly'
]

tokens.authPrompt({ scope }) // required to pass API scope
  .then(tokens => console.log('OAuthTokens:', tokens))
  .catch(console.error)
NOTE: you will only get a refresh_token the first-time you authenticate, but you can force to get new tokens by using the 'prompt' option, like so:
tokens.authPrompt({ scope, prompt: 'consent' })
  .then(tokens => console.log('OAuthTokens:', tokens))

TODOs:

  • add CLI support
  • allow for using shortnames (ie. auth/drive ) in scope
  • tests for all options