content - Google Maps Coordinate OAuth Scope Issue
google maps markers infowindow (2)
Estoy intentando autenticar usando OAuth2 con Google Maps Coordinate, pero estoy teniendo un problema al especificar el alcance para el que quiero que los tokens de autenticación sean válidos. La URL que estoy usando para solicitar un código de acceso está en este formato:
https://accounts.google.com/o/oauth2/auth?response_type=code&client_id={client id}&redirect_uri={App URL}&approval_prompt=force&scope=https://www.googleapis.com/auth/coordinate
El problema que estoy teniendo es que la pantalla de consentimiento solo dice "Esta aplicación le gustaría: Tener acceso sin conexión". No menciona el otorgamiento de permisos para interactuar con Google Maps Coordinate. Estoy empezando a pensar que esto es un error del lado de Google, porque si trato de obtener un token de solo lectura agregando .readonly
al final de la url, la pantalla de consentimiento muestra "Esta aplicación le gustaría: Ver sus trabajos de Google Coordinate" . Del mismo modo, si reemplazo coordinate
con docs
o drive
, obtengo la pantalla de consentimiento correcta donde la aplicación solicita permisos para acceder y modificar el contenido de Google Drive.
Si obtengo un token usando el alcance de coordenadas con los permisos "Tener acceso fuera de línea" y luego uso ese token para intentar hacer solicitudes para coordinar, solo obtengo los errores de "Permisos insuficientes".
El problema parece estar sucediendo al tratar de obtener un código de acceso para Maps Coordinate. ¿Alguien más ha tenido este problema?
Gracias
Esto no es un error, este es solo un comportamiento extraño (y tal vez un error). (por lo que puede no ser 100% correcto, lo que estoy diciendo)
Usted utiliza en su solicitud url approval_prompt=force
, es decir, que siempre se le pedirá al usuario que otorgue el permiso. Lo que sigue es que obtienes un token de actualización (que no caduca, a menos que el usuario elimine explícitamente el permiso para tu aplicación de su cuenta), que debes intercambiar por un token de acceso .
Esa es también la razón, que siempre obtienes solo "Esta aplicación le gustaría: Tener acceso sin conexión". Una vez que haya permitido un alcance específico, ya no se mostrará en la pantalla de consentimiento.
Los docs
y drive
pantallas de consentimiento de drive
se muestran a la derecha, porque no le proporcionó la permisección.
Veo básicamente dos posibilidades para ti: no utilizar el aviso de aprobación (y omitir la pantalla de consentimiento después de la primera autorización, simplemente serás redirigido cuando el usuario haga clic en permitir, pero sin hacer clic en permitir) o cambiar el token a un token de actualización .
O intente revocar su permiso para su cuenta.
Creo que cuando muestra Acceso sin conexión significa que ya has aceptado estos permisos antes. Esto a veces me ha pasado, intente revocar el acceso anterior y vuelva a intentar obtener tokens nuevos. Vaya a la página de la cuenta de Google ( https://www.google.com/settings/personalinfo ) -> Seguridad -> Permisos de la cuenta -> Ver todo, luego busque en el acceso de Maps y revoque, luego vuelva a intentarlo