2015-05-27 12 views
5

Stavo cercando di eseguire una query per i dati in uno dei miei documenti Google e ha funzionato per diversi mesi. A partire da ieri o il giorno prima, ho notato che il mio script non funziona più. Google ha aggiornato la propria API per i fogli di calcolo? Qualcuno ha trovato una soluzione?libreria di fogli di calcolo gdata per Python che non funziona più?

Il mio errore è simile al seguente:

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 

sto usando:

  • Python 2.7.5
  • GData 2.0.18

sto solo usando un documento key e no oauth nel mio codice, se questo fa la differenza (sto passando il nome utente e la password al metho di ClientLogin d)

+0

hanno lo stesso problema dal 27 maggio 2015. GData 2.0.17 –

risposta

5

In realtà qui è la risposta al problema:

L'uso di accesso client (utilizzando username/password invece di OAuth2) è probabile che la causa dell'errore. Quel protocollo è stato deprecato 3+ anni e si è appena spento. Se si acquisisce la risposta HTTP (che sembra che abbia un contenuto HTML), ciò potrebbe confermare se è correlato all'arresto. La migrazione a OAuth 2 avrebbe ripristinato il funzionamento delle app .

Dopo aver inviato xml per l'aggiornamento nel foglio di calcolo, google risponde con una pagina di accesso. Significa l'autenticazione non funziona per GData ora

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

+0

https://github.com/burnash/gspread questa libreria ha tutto hai bisogno di Oauth2 –

Problemi correlati