debuggen Nach 2 Tagen des Lesens gspread Docs, gspread Blog-Beiträge, und die meisten recent docs for using gspread Ich bin immer noch nicht in der Lage, auch nur eine Google Spreadsheet zu öffnen. Ich habe ein GDrive API-Dienstkonto eingerichtet. Es scheint, dass meine OAuth2-Anmeldeinformationen funktionieren, aber ich bekomme immer noch "SpreadsheetNotFound" -Fehler.Wie man persistent 'SpreadsheetNotFound' Fehler mit Python gspread
Mein Code sieht ungefähr so aus, und läuft ohne Fehlermeldung, bis es die Google-Tabelle zu öffnen versucht:
import gspread
from oauth2client.service_account import ServiceAccountCredentials
scope = ['https://spreadsheets.google.com/feeds']
jsonfile = '/path/Python-data-GSpreadsheets-dbbc-99.json'
credentials = ServiceAccountCredentials.from_json_keyfile_name(jsonfile,scope)
# get authorized to access data
gc = gspread.authorize(credentials)
# gc returns with no error messages, so far OK
wks = gc.open('SSTEst123').sheet1 #fails here
#throws SpreadsheetNotFound error
Ja, ich habe meine Adresse gmail E-Mail hinzugefügt als autorisiert zu bearbeiten (versuchte es mit und ohne) da das Dienstkonto sowieso auf alle meine Daten zugreifen kann und ich meine Tabelle mit mir selbst neu teile.
Was kann ich sonst noch versuchen herauszufinden, warum es scheitert? Haben Sie Ideen zum Debuggen, warum keine Tabellenkalkulation geöffnet werden kann?
OK, hier ist, wie ich es gelöst habe. Hatte meine Tabellen mit dem Google Drive API Dienstkonto 'E-Mail-Adresse' zu teilen (zB [email protected]) - (Es war meine 'echte' Gmail-ID/E-Mail, aber es war nicht)
Für den Feed Debuggen ... Added ein paar print() Zeilen in der gspread client.py Quelle zu sehen, ob ich etwas im Futter erhalten wurde, und Überprüfen Sie die Werte aus dem Feed. Bemerkte, dass ich einen Wert, der alten Wert war (aus dem vorherigen Skript?)
Herunterfahren und neu gestartet mein iPython-Notebook, und es funktioniert jetzt.
Könnten Sie ein wenig darüber nachdenken, wie Sie denken, dass das funktioniert und was Sie von den gedruckten Aussagen lernen konnten? Ich habe genau das gleiche Problem, das Sie oben beschrieben haben. Es scheint mir nicht klar, dass meine GDrive App Zugriff auf "meine" Google-Dokumente hat. – Robert
Niemals! Habe es funktioniert! Verwenden Sie die gleiche Dokumentation, die Sie erwähnt: http://gspread.readthedocs.org/en/latest/oauth2.html#using-signed-credentials – Robert
Auch mussten meine Tabellen mit dem Google Drive API Dienstkonto "E-Mail-Adresse" (z. B. [email protected]) – BigDoug