¿Cómo uso oauth2 y actualizo tokens con la API de Google?

Así que acabo de pasar los últimos días tratando de resolver esto y hago esta pregunta para poder responderla a otras personas que tienen problemas.

Primero, la documentación de Google es TERRIBLE y usa diferentes bibliotecas oauth2 dependiendo de cuál de los muchos ejemplos de API de Google que esté viendo. A menudo es contradictorio y, a veces, tiene un código que no funciona.

Oh bien.

entonces mis preguntas fueron básicamente:

¿Cómo uso las bibliotecas API de Google para que mis usuarios me concedan acceso a sus cuentas de Google?¿Cómo almaceno los tokens de acceso oauth2 que Google devuelve para poder usarlos dentro de unos días?¿Cómo uso realmente el refresh_token y lo actualizo?

vea la respuesta a continuación para obtener un flujo de autorización completamente funcional, desde obtener el token inicial hasta guardarlo, cargarlo más tarde, actualizarlo y usarlo.

Salud.

Respuestas a la pregunta(1)

Su respuesta a la pregunta