Google API quickstart.py Fehler KeyError: '_module'

Verwenden von Google Mail-API. Meine Client-Geheimdatei wird heruntergeladen und arbeitet für Ruby. Wenn ich die quickstart.py (python) Version probiere, bekomme ich diesen Fehler

File "quickstart.py", line 70, in <module> main() File "quickstart.py", line 55, in main credentials = get_credentials() File "quickstart.py", line 38, in get_credentials credentials = store.get() File "/Library/Python/2.7/site-packages/oauth2client/client.py", line 374, in get return self.locked_get() File "/Library/Python/2.7/site-packages/oauth2client/file.py", line 79, in locked_get credentials = Credentials.new_from_json(content) File "/Library/Python/2.7/site-packages/oauth2client/client.py", line 281, in new_from_json module = data['_module'] KeyError: '_module' 

Ich habe die Datei überhaupt nicht geändert, fügte einfach das client_secret.json zu diesem Arbeitsverzeichnis hinzu und installiere auch den Google-api-python-client. Mein pythoncode kam von hier aus: https://developers.google.com/gmail/api/quickstart/python

2 Solutions collect form web for “Google API quickstart.py Fehler KeyError: '_module'”

Oauth2client versucht, Anmeldeinformationen aus einer Json-Datei mit einer falschen Struktur zu laden.

Vielleicht verwendet der Ruby Client ein anderes Dateiformat, aber ich wäre überrascht. Bist du sicher, dass du client_secret.json als ~/.credentials/gmail-quickstart.json versehentlich ~/.credentials/gmail-quickstart.json ?

Unabhängig davon, entfernen ~/.credentials/gmail-quickstart.json und re-authentifizieren wird eine neue Anmeldeinformation Datei mit der richtigen Struktur zu generieren.

Ich lerne Python selbst und hatte ein ähnliches Problem, aber mit dem Kalender-API-Beispiel . Es stellte sich heraus, dass es ein Tippfehler in Bezug auf die SCOPE war.

 ## Typo - Invalid definition SCOPES = 'https://ww.googleapies.com/auth/calendar.readonly' ## Correct Value for SCOPE SCOPES = 'https://www.googleapis.com/auth/calendar' 

Auch Matt's Antwort hilft mir in die richtige Richtung zu zeigen. Der gmail-quickstart.json ist nicht dasselbe wie der client_secret.json. Mit dem Client_secret.json können Sie eine Anfrage für ein OAuth2-Token erstellen. Während der gmail-quickstart.json das ausgegebene Token und die damit verbundenen Metadaten enthält. Die gmail-quickstart.json wird erst erstellt, wenn Sie sich erfolgreich angemeldet haben.

Ein letzter Gedanke, um sich erfolgreich anzumelden, startete die quickstart.py App eine Instanz meines Webbrowsers (Firefox) und ging zum Google Login-Bildschirm. Damit Firefox ordnungsgemäß läuft, musste ich meine DISPLAY-Variable richtig einstellen.

 $ export DISPLAY=:0 $ xhost + access control disabled, clients can connect from any host 
Python ist die beste Programmiersprache der Welt.