2015-05-27 9 views
5

Ich habe versucht, eine Abfrage für Daten in einem meiner Google Docs auszuführen, und es hat mehrere Monate funktioniert. Ich habe gestern oder am Vortag angefangen zu sehen, dass mein Skript nicht mehr funktioniert. Hat Google seine API für Tabellen aktualisiert? Hat jemand einen Workaround gefunden?gdata Tabellenkalkulationsbibliothek für Python funktioniert nicht mehr?

Mein Fehler sieht wie folgt aus:

Traceback (most recent call last): 
    File "build_packer_image.py", line 311, in <module> 
    for index, entry in enumerate(client.GetWorksheetsFeed(doc_key).entry): 
    File "/build/toolchain/mac-10.5-32/lib/python2.7/site-packages/gdata/spreadsheet/service.py", line 129, in GetWorksheetsFeed 
    converter=gdata.spreadsheet.SpreadsheetsWorksheetsFeedFromString) 
    File "/build/toolchain/mac-10.5-32/lib/python2.7/site-packages/gdata/service.py", line 1074, in Get 
    return converter(result_body) 
    File "/build/toolchain/mac-10.5-32/lib/python2.7/site-packages/gdata/spreadsheet/__init__.py", line 411, in SpreadsheetsWorksheetsFeedFromString 
    xml_string) 
    File "/build/toolchain/mac-10.5-32/lib/python2.7/site-packages/atom/__init__.py", line 93, in optional_warn_function 
    return f(*args, **kwargs) 
    File "/build/toolchain/mac-10.5-32/lib/python2.7/site-packages/atom/__init__.py", line 127, in CreateClassFromXMLString 
    tree = ElementTree.fromstring(xml_string.replace('doctype','DOCTYPE')) 
    File "<string>", line 125, in XML 
cElementTree.ParseError: no element found: line 1, column 0 
Build step 'Execute shell' marked build as failure 
Finished: FAILURE 

Ich verwende:

  • Python 2.7.5
  • gdata 2.0.18

ich nur ein Dokument bin mit Schlüssel und kein OAuth in meinem Code, wenn das einen Unterschied macht (ich gebe den Benutzernamen und das Passwort an das ClientLogin-Verfahren weiter) d)

+0

Habe das gleiche Problem seit 27. Mai 2015 gdata 2.0.17 –

Antwort

5

Eigentlich ist hier die Antwort auf das Problem:

Die Verwendung von Client-Anmeldung (unter Verwendung von Benutzername/Passwort statt oauth2) wird wahrscheinlich die Ursache für den Fehler. Dieses Protokoll wurde vor 3+ Jahren veraltet und wurde gerade heruntergefahren. Wenn Sie die HTTP-Antwort erfassen (die scheint einige HTML-Inhalt zu haben), könnte dies bestätigen, ob es im Zusammenhang mit dem Herunterfahren ist. Wenn Sie zu OAuth 2 migrieren, werden Ihre Apps wieder funktionsfähig.

Nach dem Senden von XML für die Aktualisierung in der Tabelle google mit einer Anmeldeseite antworten. Es bedeutet, dass die Authentifizierung nicht für gdata arbeitet jetzt

https://code.google.com/a/google.com/p/apps-api-issues/issues/detail?id=3851#c2

+0

https://github.com/burnash/gspread diese Bibliothek verfügt über alle du brauchst für Oauth2 –