1.1.17 • Published 4 years ago

auth-googleapis v1.1.17

Weekly downloads
2
License
ISC
Repository
-
Last release
4 years ago

Auth for Google APIs Node.js Client

Node.js client library for using Google APIs. Support for authorization and authentication with OAuth 2.0, API Keys and JWT tokens is included.

This package will help you to create OAuth2 Client for npm "googleapis" You have to define the params and credential file as below .

import {oAuth2} from 'auth-googleapis';
const authParams = {
    scopes : ['https://www.googleapis.com/auth/drive','https://www.googleapis.com/auth/photoslibrary'],
    credentialPath : './credential.json',
    tokenPath : './save-token-here.json'
  }
   const oAuth2Client =  await new oAuth2(authParams).client;

Example : credential file credential.json

//credential.json
    {
    "installed": {
        "client_id": "??????????????.apps.googleusercontent.com",
        "project_id": "my-project-????",
        "auth_uri": "https://accounts.google.com/o/oauth2/auth",
        "token_uri": "https://oauth2.googleapis.com/token",
        "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
        "client_secret": "?????????????????????????",
        "redirect_uris": [
            "urn:ietf:wg:oauth:2.0:oob",
            "http://localhost"
        ]
    }
}

save token file will look like:

{
  "access_token": "????????????",
  "refresh_token": "?????????????",
  "scope": "https://www.googleapis.com/auth/drive https://www.googleapis.com/auth/photoslibrary",
  "token_type": "Bearer",
  "expiry_date": 1578389653646
}

Exmample code upload file to gdrive:

import * as fs from "fs";
import {oAuth2} from 'auth-googleapis';
const {google} = require('googleapis');

  
testUpload();
// Tests
async function testUpload() {


  const authParams = {
    scopes: [
      "https://www.googleapis.com/auth/drive",
      "https://www.googleapis.com/auth/photoslibrary"
    ],
    tokenPath: "./token/google-api.json",
    credentialPath: "./credential/google-api.json"
  };


  //Create Goolge OAuth client
  const oAuth2Client =  await new oAuth2(authParams).client;

  let params = {
    name: "test.png",
    mimeType: "image/png",
    parents: ["1PfOwDNMxfFe3SdPCMEY4E9bGs5QMbi3o"]
  };


  //Then pass to google apis
  const drive = google.drive({ version: "v3", oAuth2Client });
  //console.log('content-length : ',params.headers['content-length'])
  const fileMetadata = {
    name: params.name,
    mimeType: params.mimeType,
    parents: ["1PfOwDNMxfFe3SdPCMEY4E9bGs5QMbi3o"]
  };
  const media = {
    mimeType: params.mimeType,
    body: fs.createReadStream(params.name)
  };

  const res = await drive.files.create(
    {
      resource: fileMetadata,
      media: media,
      fields: "id"
    },
    function(err, file) {
      if (err) {
        // Handle error
        console.error(err);
      } else {
        //console.log('File Id:', file);
      }
    }
  );

  
}
1.1.17

4 years ago

1.1.16

4 years ago

1.1.15

4 years ago

1.1.14

4 years ago

1.1.13

4 years ago

1.1.11

4 years ago

1.1.0

4 years ago

1.0.9

4 years ago

1.0.7

4 years ago

1.0.6

4 years ago

1.0.5

4 years ago

1.0.2

4 years ago

1.0.1

4 years ago

1.0.4

4 years ago

1.0.3

4 years ago

1.0.0

4 years ago