Ya no tienes que buscar más por todo internet porque has llegado al espacio indicado, contamos con la respuesta que quieres y sin liarte.
Solución:
Yo estaba en la misma situación que tú. Google no tiene documentación para server-to-server
autenticación para la API del cliente nodejs. Ridículo. Finalmente encontré la solución aquí. Básicamente necesitas una cuenta de servicio key (archivo JSON por lo general) y google.auth.JWT
server-to-server OAuth 2.0
cliente.
let google = require('googleapis');
let privatekey = require("./privatekey.json");
// configure a JWT auth client
let jwtClient = new google.auth.JWT(
privatekey.client_email,
null,
privatekey.private_key,
['https://www.googleapis.com/auth/calendar']);
//authenticate request
jwtClient.authorize(function (err, tokens)
if (err)
console.log(err);
return;
else
console.log("Successfully connected!");
);
Ahora solo llame a la API de calendario así:
let calendar = google.calendar('v3');
calendar.events.list(
auth: jwtClient,
calendarId: 'primary'//whatever
, function (err, response)
);
Creo que desea agregar y eliminar eventos en un calendario usando Node.js.
Acerca de quickstart.js
para usar la API de calendario, para usar la API de calendario, al principio, los usuarios deben recuperar client_secret.json
con ID de cliente, secreto de cliente, etc., y habilite la API de calendario en la consola API.
Como siguiente paso, el token de acceso y el token de actualización deben recuperarse de Google usando client_secret.json
. La mayoría de quickstart.js
en Quickstart se utiliza para recuperarlos. var TOKEN_PATH = TOKEN_DIR + 'calendar-nodejs-quickstart.json';
incluye el token de acceso y el token de actualización recuperados usando client_secret.json
. El token de acceso que tiene el tiempo de vencimiento se puede recuperar del token de actualización que no tiene el tiempo de vencimiento. En quickstart.js
el token de acceso se recupera cada vez que se ejecuta el script mediante el token de actualización.
Funciones a excepción de listEvents(auth)
en el quickstart.js
se utilizan para la autorización. En listEvents(auth)
la API de calendario se puede usar mediante el token de acceso recuperado por la autorización.
Guión de muestra
El siguiente script de muestra es para agregar y eliminar eventos. Esto supone que el Paso 1 y el Paso 2 en Quickstart ya han terminado y quickstart.js
se usa
Para la muestra de inicio rápido de Node.js, modificó listEvents()
. Cuando use este script de muestra, copie y pegue Muestra de inicio rápido de Node.js y cambio listEvents()
de la siguiente manera, y agregue lo siguiente addEvents()
y removeEvents()
.
function listEvents(auth)
var calendar = google.calendar('v3');
addEvents(auth, calendar); // Add events
removeEvents(auth, calendar); // Remove events
1. Agregar eventos
La información detallada es https://developers.google.com/google-apps/calendar/v3/reference/events/insert.
function addEvents(auth, calendar)
calendar.events.insert(
auth: auth,
calendarId: 'primary',
resource:
'summary': 'Sample Event',
'description': 'Sample description',
'start':
'dateTime': '2017-01-01T00:00:00',
'timeZone': 'GMT',
,
'end':
'dateTime': '2017-01-01T01:00:00',
'timeZone': 'GMT',
,
,
, function(err, res)
if (err)
console.log('Error: ' + err);
return;
console.log(res);
);
2. Eliminar eventos
La información detallada es https://developers.google.com/google-apps/calendar/v3/reference/events/delete.
function removeEvents(auth, calendar)
calendar.events.delete(
auth: auth,
calendarId: 'primary',
eventId: "#####",
, function(err)
if (err)
console.log('Error: ' + err);
return;
console.log("Removed");
);