En una aplicación web de Python, puedo conectarme a Gmail usando OAuth e IMAP. OAuth usa cualquier cuenta de Google en la que esté registrado actualmente de manera simple y le solicita que otorgue acceso a la aplicación web. Sin embargo, no proporciona una API para recuperar realmente la dirección de correo electrónico de esa cuenta.¿Hay alguna manera de obtener su dirección de correo electrónico luego de autenticarse con Gmail usando Oauth?
El problema es que, a pesar de que el usuario otorga acceso con OAuth, para interactuar con Gmail, sigue siendo necesario para proporcionar explícitamente la dirección de correo electrónico en su dirección URL de conexión IMAP:
https://mail.google.com/mail/b/[your-email]/imap/
Debido a esto, la web la aplicación debe solicitar al usuario su dirección de correo electrónico y solicíteles que otorguen acceso desde Gmail con OAuth. Lo que es peor es que la dirección de correo electrónico que ingresan puede no coincidir con el correo electrónico de la cuenta a la que otorgan acceso, lo que hace que la aplicación falle.
¿Hay alguna manera de obtener su dirección de correo electrónico con OAuth para que pueda ponerla en esa URL sin pedirle al usuario que la use? Intenté mirar this answer pero Google devuelve un Bad Request
cada vez que uso https://mail.google.com/
y https://www.googleapis.com/auth/userinfo#email
como mi alcance.
Eso funcionó a la perfección. También el patio de recreo es bastante agradable, ¡gracias por incluir eso! – Joe
Para agregar a esta respuesta, también intenté usar 'max-results = 0' y eso funcionó. Obtiene menos XML de esa manera y todavía tiene acceso a ''. –
Joe