2010-05-13

Googleドキュメントにあるドキュメントをランダムで取得してメールをする

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク
Googleドキュメントにいろいろメモを残しているのに全然見返すことをしていないない・・・
そんな私のためにGoogle App EngineでGoogleドキュメントの内容をランダムで取得してメール送信するものを作ってみました。

機能としては、
・文章のみをメール送信します。スプレッドシートなどは送信しません。
・取得対象はランダムです。
・文章を送信対象外にするリストを持ち、リストに追加したドキュメントは送信しません。
・oAuthを利用します
てな感じです。

エラー処理が少々大雑把なため
ドキュメントが一つもなかったり、すごく大量にあった場合にどうなるかはわかりません。

Djangoのアプリケーションになっています。
http://docs.google.com/leaf?id=0BydytAINVs9VM2E5NWRlMGItNWM1Yy00OTZhLWI5MTctYjQ0MDliNWJhMjI0&hl=ja
にアプリ部分だけzipしたものを置いてみましたので、もしご興味があればご利用ください。
zipを解凍してできたディレクトリをDjangoプロジェクトのルートに配置して利用できるように設定します。
ディレクトリ内のsettings.pyは編集する必要があります。

実行には、gdataが必要です。
以下から取得できます。
http://code.google.com/p/gdata-python-client/

Google App Engine patchも必要な気がします。
こちらで利用しているモジュールも使っているような気がします。
以下から取得できます。
http://code.google.com/p/app-engine-patch

app.yamlには
- url: /gdoc_sender/.*
  script: common/appenginepatch/main.py
  login: admin
みたいなエントリを追加する必要があります。

あと、queue.yamlを以下のような感じで。
queue:
- name: default
  rate: 5/m

- name: gdoc-sender
  rate: 5/m

そして、cron.yamlを以下のような感じで。
cron:
- description: daily mail send
  url: /gdoc_sender/set_queue/
  schedule: every day of month 09:00
  timezone: Asia/Tokyo

こんなメモを残していたのか・・・
と毎日一つは残したメモを見返すようになりましたとさ。
コメントを投稿