Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

251
Vistas
La API de Google Calendar no devuelve a los asistentes al enumerar eventos

Al recuperar eventos con Google Calendar Api v3, la matriz de asistentes no se incluye en los resultados. Me estoy autenticando con una cuenta de servicio, por lo que no debería haber restricciones de acceso en campos individuales.

Mi solicitud se ve así (el código de autenticación se omite por razones de brevedad):

 async function fetchEvents() { const calendar = google.calendar('v3') google.options({ auth: await auth() }) return await calendar.events.list({ calendarId: '<the-actual-calendar-id>@group.calendar.google.com', fields: 'items(summary,description,attendees)', maxAttendees: 99, timeMin: new Date().toISOString(), maxResults: 5, singleEvents: true, orderBy: 'startTime' }) }

Omitir el parámetro de fields por completo tampoco incluye a los asistentes, aunque el campo es parte del recurso de eventos .

Del mismo modo, omitir maxAttendees tampoco cambia nada.

Siguiendo el htmlLink devuelto por la API, puedo verificar que un evento en particular tiene una lista de asistentes.

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Parece que no ha configurado la delegación correctamente. Cuando delega al usuario en su dominio de espacio de trabajo. Ese usuario tiene acceso al dominio para the-actual-calendar-id>@group.calendar.google.com

Luego inicia la suplantación con with_subject .

 from google.oauth2 import service_account SCOPES = ['https://www.googleapis.com/auth/calendar'] SERVICE_ACCOUNT_FILE = '/path/to/service.json' credentials = service_account.Credentials.from_service_account_file( SERVICE_ACCOUNT_FILE, scopes=SCOPES) delegated_credentials = credentials.with_subject('user@example.org')
about 4 years ago · Juan Pablo Isaza Denunciar

0

Como se señaló en la respuesta de DalmTo, los asistentes de un evento es un campo privilegiado que no se puede recuperar con una cuenta de servicio a menos que se use para suplantar al propietario del calendario.

Configuración de una cuenta de servicio para hacerse pasar por un usuario

  1. Habilite la delegación en todo el dominio para la cuenta de servicio en la Consola de administración . El alcance de OAuth requerido es https://www.googleapis.com/auth/calendar.events .

  2. Use google.auth.JWT para hacerse pasar por el usuario (de este problema de GitHub ):

 const auth = google.auth.JWT({ subject: 'user@your-workspace-domain.com', keyFile: '/path/to/service-account-keyfile.json', scopes: ['https://www.googleapis.com/auth/calendar.events'] }) const calendar = google.calendar({ version: 'v3', auth }) const { data } = await calendar.events.list({ ... })
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda