setup react nodejs google example curl oauth-2.0 google-calendar google-oauth

curl - react - ¿Por qué Google Calendar API(oauth2) responde con "Permiso insuficiente"?



oauth google nodejs (6)

Estoy haciendo una solicitud de obtención a la siguiente URL (con {id} reemplazado por el ID de la interfaz web):

https://www.googleapis.com/calendar/v3/calendars/{id}

Algunas afirmaciones:

  1. El encabezado Autorizar se establece correctamente con un token de acceso válido (el token funciona bien para la API de Analytics)

  2. Establecí el siguiente alcance para oauth2, que se muestra correctamente:

    https://www.googleapis.com/auth/calendar

  3. El token no parece haber expirado; funciona para la API de Analytics.

    { "error": { "errors": [ { "domain": "global", "reason": "insufficientPermissions", "message": "Insufficient Permission" } ], "code": 403, "message": "Insufficient Permission" } }


Agregar alcance para la API de calendario de visita de calendario y verificar la configuración de acceso

https://www.googleapis.com/auth/calendar https://www.googleapis.com/auth/calendar.readonly


Para solucionarlo, revoqué el acceso a la aplicación en https://accounts.google.com/IssuedAuthSubTokens y la reintenté, después de lo cual pude acceder a la API correctamente.

A pesar de tener el alcance en la lista y el alcance que se muestra en la página de OAuth2 de Google, no se otorgó el alcance adicional.


Tuve el mismo problema mientras intentaba agregar un evento en mi calendario de google. Cómo finalmente arreglé esto:

  • eliminar mi archivo ''credentials.json''
  • lanzar un programa de Python que se parece al programa de inicio rápido de Google escrito en "SCOPES = '' https://www.googleapis.com/auth/calendar ''". Este programa fue la única solución que funcionó para mí. Lanzar mi comando django para llamar a mi trabajo real no funcionó para mí. Pero esto solucionó mi problema de permiso.

Luego, abre su navegador y google le pide permiso para administrar su calendario y crear un nuevo ''credentials.json'' en su repertorio.



Tuve que incluir el alcance de Google Plus para tener suficiente permiso para acceder a un calendario:

Entonces mi scope terminó luciendo así:

''https://www.googleapis.com/auth/calendar'', ''https://www.googleapis.com/auth/calendar.readonly'', ''https://www.googleapis.com/auth/plus.login''


Verificaría dos veces si el alcance está incluido. He visto ese mensaje exacto cuando solicité el alcance incorrecto. Visitar https://www.googleapis.com/oauth2/v1/tokeninfo?access_token=xxxxxx es una buena forma de verificar.

Suponiendo que se retira, asegúrese de que el usuario para el que tiene el token de acceso tenga permiso para ver el calendario al que está intentando acceder. Icono "Gears" -> "Configuración" -> "Calendarios" -> (seleccionar calendario) -> "Compartir este calendario"