haifa-reminder/src/GoogleCalendar.ts

52 lines
1.3 KiB
TypeScript
Raw Normal View History

require('dotenv').config();
const env = process.env;
import { google } from 'googleapis';
export default class GoogleCalendar {
connected: boolean;
calendar: any;
googlePrivateKey = env.GOOGLE_PRIVATE_KEY
googleClientEmail = env.GOOGLE_CLIENT_EMAIL
googleProjectNumber = env.GOOGLE_PROJECT_NUMBER
googleCalendarId = env.GOOGLE_CALENDAR_ID
projectScope = 'https://www.googleapis.com/auth/calendar.readonly'
connection: any;
constructor() {
const SCOPES = this.projectScope;
const jwtClient = new google.auth.JWT(
this.googleClientEmail,
null,
this.googlePrivateKey,
SCOPES
);
this.connection = jwtClient;
if(this.connection) {
this.connected = true;
} else {
this.connected = false;
}
}
insert_new_event_in_calender(event: any) {
const calendar = google.calendar({ version: 'v3', auth: this.connection });
const options = {
auth: this.connection,
calendarId: this.googleCalendarId,
date: event.date,
// resource: event,
};
const callback = (err: any, res: any) => {
if (err) {
console.log(err);
}
console.log(res);
}
calendar.events.insert(options, callback);
console.log("Successfully Inserted Event To Google Calendar")
}
}