Wrapper around googleapis for getting data shortly
npm install @anmiles/google-api-wrapperWrapper around googleapis for getting data shortly
- provides quick interface for getting google API data
- encapsulates auth process
- combines getting paged items in one call
----
npm install @anmiles/google-api-wrapper
js
/ auth.js /import { createProfile, login } from '@anmiles/google-api-wrapper';
createProfile("username");
// Persistent credentials will be generated and stored to credentials file.
// Next
login call will re-use persistent credentials without showing oauth window
login("username");`$3
` js
/ calendar.js /import { calendar } from 'googleapis/build/src/apis/calendar';
import { getProfiles, getAPI } from '@anmiles/google-api-wrapper';
require('./auth');
getProfiles().map(async (profile) => {
// Persistent credentials will be generated and stored to credentials file.
// Next
getAPI call will re-use persistent credentials without showing oauth window
const calendarAPI = getAPI((auth) => calendar({ version : 'v3', auth }), profile);
const events = await calendarAPI.getItems((api) => api.events, { timeMax: new Date().toISOString() });
events.forEach((event) => console.log(Event: ${event.summary}));
});`$3
` js
/ videos.js /import { youtube } from 'googleapis/build/src/apis/youtube';
import { getProfiles, getAPI } from '@anmiles/google-api-wrapper';
getProfiles().map(async (profile) => {
// Temporary credentials will be generated and not stored to credentials file
// Next
getAPI will start authorization again with showing oauth window
const youtubeAPI = getAPI((auth) => youtube({ version : 'v3', auth }), profile, { temporary: true });
const videos = await youtubeAPI.getItems((api) => api.playlistItems, { playlistId : 'LL', part : [ 'snippet' ], maxResults : 50 });
videos.forEach((video) => console.log(Downloaded: ${video.snippet?.title}));
});``