npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

google-batch

v0.0.8

Published

Sends batch requests to Google REST API

Downloads

75

Readme

NPM   Build Status

google-batch

Sends Batch Requests to Google REST API

(C) Pradeep Mishra [email protected]

google-batch is very easy to use, it seamlessly integrate with googleapis (official node.js sdk) module. so no need to provide all background information like url, query, authorizations.

Warning

  • It is in development mode , so some of apis may not work. (dont use on production, this module was for poc purpose only)
  • Tested on some gmail apis only.
  • Right now only application/json response/request type is supported, so no upload, download kinda things.

Features

  • Simple to use
  • Support googleapis method directly to make batch call
  • Many helper functions to handle batch call smoothly

Example usage

var googleBatch = require('google-batch');
var batch = new googleBatch();

// important, always require googleapis using google-batch require() method.
var google = googleBatch.require('googleapis'); 


// how to use google OAuth instance to provide access token to google-batch
var oauthClient = new google.auth.OAuth2;
oauthClient.setCredentials({
    access_token: "MY_ACCESS_TOKEN"
});
batch.setAuth(oauthClient);

// OR simply pass access_token directly
batch.setAuth("MY_ACCESS_TOKEN");


var gmail = google.gmail({
    version : 'v1'
});

/* 
Do not use oauth object in google service constructer like this
it may bypass patch in a new version of googleapis module

var gmail = google.gmail({
    version : 'v1',
    oauth : oauthClient
});

*/

// now lets make some batch calls
var params1 = {
    googleBatch : true,
    maxResults : 5,
    userId : "me"
};

var params2 = {
    googleBatch : true,
    maxResults : 10,
    userId : "me"
};

/*

notice googleBatch property, this property is required by google-batch 
to identify batch call and prevent it to make the request.

*/

// use add() method to add calls in batch
// yes we can use gogoleapis method directly :)

batch.add(gmail.users.messages.list(params1));
batch.add(gmail.users.messages.list(params2));

batch.exec(function(error, responses, errorDetails){
    console.log(responses);
    // clear batch queue to make new batch call using same instance 
    batch.clear();
});



/* 

In case you are getting a hard time decoding raw (base64) data of gmail body 
you can use this api.


*/





googleBatch.decodeRawData(rawBody);
npm install google-batch --save