Googleドキュメント(Google SpreadSheet)をAPI経由でダウンロードする
Googleドキュメント(Google SpreadSheet)をAPI経由でダウンロードするPythonのコードを書いてみました。
ドキュメントなどは、見ながら作ることができるんですが、スプレッドシート(SpreadSheet)だけはライブラリが別なんです。これがなんとも...。どうやら、ダウンロード処理については認証方法が異なるのかも(英語でわからず)。
Gdata APIsは、「Google Apps Platform — Google Developers」を参考に...なるのか、ならないのかよくわかりません。なにか深い森の中に入る感じでした。
とりあえず、これでGoogleドキュメントにデータを貯めてもダウンロードはできそうです。ちなみに、xlsや、pdfと指定した拡張子でファイルがダウンロード出来るのは素晴らしいところ
ソース
#!/usr/bin/env python # -*- coding: utf-8 -*- import gdata.docs.data import gdata.docs.client import gdata.docs.service import gdata.spreadsheet.service class SpreadSheet(): email = 'xxxxxxx' password = 'xxxxxxx' document = 'xxxxxxx' client = '' def __init__(self): self.client = gdata.docs.service.DocsService() self.client.ClientLogin(self.email, self.password) query = gdata.docs.service.DocumentQuery() feed = self.client.Query(query.ToUri()) for entry in feed.entry: print entry.title.text, entry.GetDocumentType(), entry.resourceId.text if self.document == entry.title.text: ss_client = gdata.spreadsheet.service.SpreadsheetsService() ss_client.ClientLogin(self.email, self.password) self.client.SetClientLoginToken(ss_client.GetClientLoginToken()) self.client.Export(entry, './test.pdf') self.client.Export(entry, './test.xls') ss = SpreadSheet()