È possibile produrre un esempio Python di come scaricare un foglio di calcolo di Google Documenti in base all'ID della chiave e del foglio di lavoro (gid
)? Non possoScaricare un foglio di calcolo da Google Documenti utilizzando Python
Ho ripulito le versioni 1, 2 e 3 dell'API. Non ho fortuna, non riesco a capire la loro API di feed di tipo ATOM compilata, il metodo privato gdata.docs.service.DocsService._DownloadFile
dice che non sono autorizzato, e non voglio scrivere un intero sistema di autenticazione di Google Login me stesso. Sto per pugnalarmi in faccia a causa della frustrazione.
Ho un paio di fogli di calcolo e voglio accedervi in questo modo:
username = '[email protected]'
password = getpass.getpass()
def get_spreadsheet(key, gid=0):
... (help!) ...
for row in get_spreadsheet('5a3c7f7dcee4b4f'):
cell1, cell2, cell3 = row
...
Si prega di salvare la faccia.
Update 1: ho provato quanto segue, ma nessuna combinazione di Download()
o Export()
sembra funzionare. (Documenti per DocsService
here)
import gdata.docs.service
import getpass
import os
import tempfile
import csv
def get_csv(file_path):
return csv.reader(file(file_path).readlines())
def get_spreadsheet(key, gid=0):
gd_client = gdata.docs.service.DocsService()
gd_client.email = '[email protected]'
gd_client.password = getpass.getpass()
gd_client.ssl = False
gd_client.source = "My Fancy Spreadsheet Downloader"
gd_client.ProgrammaticLogin()
file_path = tempfile.mktemp(suffix='.csv')
uri = 'http://docs.google.com/feeds/documents/private/full/%s' % key
try:
entry = gd_client.GetDocumentListEntry(uri)
# XXXX - The following dies with RequestError "Unauthorized"
gd_client.Download(entry, file_path)
return get_csv(file_path)
finally:
try:
os.remove(file_path)
except OSError:
pass
Potrebbe [questo] (http://stackoverflow.com/questions/2925985/syntaxerror-using-gdata-python-client-to-access-google-book-search-data-api/3013945#3013945) essere il tuo problema? – sje397
Provato - grazie! Sembra aiutarmi a superare i problemi di accesso. –