2010-01-15 21:07:19
今日は、Google Docsの全ファイルを検索する。
#!/usr/bin/python import gdata.docs.service, hashlib import sys, os, re def truncate(content, length=15, suffix='...'): if len(content) <= length: return content else: return content[:length] + suffix client = gdata.docs.service.DocsService() client.ClientLogin('name@gmail.com', 'password') keyword = sys.argv[1] query = gdata.docs.service.DocumentQuery(text_query=keyword) feed = client.Query(query.ToUri()) if not feed.entry: print 'No entries in feed.\n' print 'TITLE\tFILE TYPE\tRESOURCE ID' for entry in feed.entry: print entry.title.text + '\t' + entry.GetDocumentType() + '\t'\\ + entry.resourceId.textここで\\は本来は改行しない箇所を意味している。gdata-2.0.6に入っているsample.pyに書いてあるような結果表示にすると、日本語のファイル名などあるとエラーになるので、数えて位置を合わせたりするのをやめる。これを、gdoc_search.pyとして保存し、
$ python gdoc_search.py セットなどとすると、
TITLE FILE TYPE RESOURCE ID 秘密のファイル document document:0Axxxxxxx LB1000Layout spreadsheet spreadsheet:0Axxxxxxxなどと結果が返ってくる。日本語の文字列も問題なく検索できた。フォルダの扱い方などはまだよく判らない。