sesion para inicio google con python oauth-2.0 gmail-api

python - para - sign in gmail api



Error de atributo al intentar ejecutar el inicio rĂ¡pido de la API de Gmail en Python (2)

Parece que podría haber un problema de discrepancia de versión aquí. ¿Cómo debo solucionarlo?

He intentado actualizar seis con pip, pero eso no hace nada.

Aquí está el error que veo:

Traceback (most recent call last): File "./quickstart.py", line 27, in <module> credentials = run(flow, STORAGE, http=http) File "/Library/Python/2.7/site-packages/oauth2client/util.py", line 137, in positional_wrapper return wrapped(*args, **kwargs) File "/Library/Python/2.7/site-packages/oauth2client/old_run.py", line 120, in run authorize_url = flow.step1_get_authorize_url() File "/Library/Python/2.7/site-packages/oauth2client/util.py", line 137, in positional_wrapper return wrapped(*args, **kwargs) File "/Library/Python/2.7/site-packages/oauth2client/client.py", line 1827, in step1_get_authorize_url return _update_query_params(self.auth_uri, query_params) File "/Library/Python/2.7/site-packages/oauth2client/client.py", line 435, in _update_query_params parts = urllib.parse.urlparse(uri) AttributeError: ''Module_six_moves_urllib_parse'' object has no attribute ''urlparse''


Descubrí el origen del problema: la versión OSX preinstalada de seis (1.4.1) es la que se carga porque su ubicación es lo primero en tu ruta de Python.

La versión requerida por gmail (1.6.1) está por lo tanto protegida y por lo tanto nunca importada.

Una solución rápida es simplemente anteponer el directorio de instalación 1.6.1 a su ruta de Python, por lo que se carga antes de la versión 1.4.1. No es la mejor solución, pero funciona.

import sys sys.path.insert(1, ''/Library/Python/2.7/site-packages'')


Me encontré con un problema muy similar, aunque utilizando una API completamente diferente (motor de cómputo). Terminé haciendo retroceder el cliente de Google Api a la versión anterior - 1.3.2 - en lugar de la última versión - 1.4.0. Para ello, corrí:

sudo pip install -I google-api-python-client==1.3.2

Y luego fue capaz de ejecutar mi código.

No estoy seguro de si este es el mismo problema, pero parece que me sirvió, espero que esto ayude.