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

349
Vistas
API de Google Calendar: la solicitud tenía alcances de autenticación insuficientes

Mi aplicación muestra una lista de eventos del calendario "principal" de Gmail de los usuarios (y crea/elimina eventos). La aplicación funciona bien con una de mis cuentas de Gmail, cuando intento iniciar sesión con otras cuentas de Gmail, aparece un error al buscar eventos:

GET 403, y en respuesta => La solicitud tenía alcances de autenticación insuficientes.

Mi código para cargar el calendario:

 window.gapi.load("client:auth2", () => { console.log("Client loaded!!"); window.gapi.client.init({ apiKey: "MY_API_KEY", clientId: "MY_CLIENT_ID", discoveryDocs: [ "https://www.googleapis.com/discovery/v1/apis/calendar/v3/rest", ], scope: "https://www.googleapis.com/auth/calendar.events", }); window.gapi.client.load("calendar", "v3", () => { console.log("Calendar loaded!!"); // List events after calendar is loaded listUpcomingEvents("week"); }); });

Y en mi función listUpcomingEvents() busco eventos con js puro (sin backend):

 window.gapi.client.calendar.events .list({ calendarId: "primary", timeMin: start.toISOString(), timeMax: end, showDeleted: false, singleEvents: true, maxResults: 100, orderBy: "startTime", }) .then(function (response) { var events = response.result.items; console.log("Events:", events); // Set events setEvents([...events]); setEventsFilter(events_filter); });

Intenté establecer ámbitos en mi Google Cloud Platform (pantalla de consentimiento de autenticación), cambié a otros ámbitos o agregué más que un ámbito, pero nada funciona. Incluso intenté hacer público el calendario y muchas otras cosas que encontré en stackoverflow.

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

0

La solicitud tenía alcances de autenticación insuficientes.

Significa que el usuario se ha autenticado con un alcance pero el método que está utilizando requiere otro.

El método Events.list requiere uno de los siguientes ámbitos

ingrese la descripción de la imagen aquí

Ahora, el código que ha publicado muestra el scope: "https://www.googleapis.com/auth/calendar.events", que es uno de los alcances que debería darle acceso a la lista de eventos.

El problema es que cuando ejecutó ese código, apareció la pantalla de consentimiento y el usuario autorizó su aplicación. Luego cambió el alcance a https://www.googleapis.com/auth/calendar.events y ejecutó su código nuevamente. Pero la nueva pantalla de consentimiento no apareció porque el usuario ya está autenticado.

Debe forzar su aplicación para solicitar la autorización del usuario nuevamente, en ese momento aparecerá el nuevo alcance y, si el usuario lo acepta, podrá usar ese método.

La forma más fácil de hacer esto es ir a la cuenta de Google de los usuarios y revocar el acceso que se le otorgó a su aplicación. cuenta Google

O como su aplicación es JavaScript, debería poder esperar una hora y su acceso debería caducar y se le pedirá al usuario que dé su consentimiento nuevamente.

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