estoy usando el token JWT como autenticación de una cuenta de servicio. Obtengo el error mencionado anteriormente si agrego asistentes en el evento. Estoy desarrollando esto como un servicio. ¿Puedo resolver esto sin usar una autorización oauth2?
const scopes = ['https://www.googleapis.com/auth/calendar', 'https://www.googleapis.com/auth/gmail.send'] const calendar = google.calendar({ version: "v3" }); let rawdata = fs.readFileSync('googleCalendar\\calendarcred.json'); let CREDENTIALS = JSON.parse(rawdata); let auth = new google.auth.JWT( CREDENTIALS.client_email, null, CREDENTIALS.private_key, scopes );Para utilizar una cuenta de servicio con el calendario de Google, debe configurar Ejecutar delegación de autoridad en todo el dominio de Google Workspace en su cuenta de gsuite.
Una vez que el administrador del espacio de trabajo (Gsutie) haya autorizado la cuenta de servicio, podrá ejecutar la suplantación. Solo recuerde configurar la autenticación para el usuario en su dominio que desea que suplante la cuenta de servicio.
import { JWT } from "google-auth-library"; const auth = (await google.auth.getClient({ scopes: ["https://www.googleapis.com/auth/admin.directory.user"], })) as JWT; auth.subject = process.env.GOOGLE_ADMIN_EMAIL;Alternativamente, una vez que a la cuenta de servicio se le haya otorgado acceso al dominio, creo que también puede compartir el calendario con la cuenta de servicio y esto debería darle acceso directo al calendario sin necesidad de suplantar a un usuario en el dominio. Sin embargo, no creo que envíe correos electrónicos de notificación.