2011年04月28日

Twitterのbotを作ってみる【環境構築編】

出張先の仕事が落ち着いてきて、土日は両方とも休めるようになって時間ができたので、思い付きでTwitterのbot(自動でつぶやきを投稿するプログラム)を作ろうと考えた。
自分がやっている小学校のおやじの会のbotにしよう。
考えた機能は以下の通り。
・おやじの会の打ち合わせや行事予定をつぶやく
・学校行事予定をつぶやく
・過去の行事の写真を投稿する
・プロフィールに「おやじの会」を入れている人をフォローする
この4つの機能を自動で行うようにしたい。

行事予定や写真をどうやって管理するか。
Googleのサービスを使えば、プライベートでも使用しているから使い方は分かるし、APIが提供されているから外部プログラムから取ることができる。
ということで、行事予定はGoogle Calendarを使い、写真はPicasa Web Albumを使用することに決定。




準備したもの
・Python 慣れていたのでなんとなく。開発はWindowsXPだが稼働はCentOS上でやりたかったので、スクリプト言語にした。
     3.2をインストールしたが、下記理由で2.7にした。
・easy_install python twitterをインストールするのに必要っぽかったので。Python3.2では対応してないみたいだったのでわざわざPython2.7を入れなおした。
・python-twitter PythonからTwitterにいろいろするためのライブラリ。
・python-twitpic Pythonからtwitpicにいろいろするためのライブラリ。
・Google Data API Googleのいろいろなサービスを操作するためのAPI。



やったこと
・GoogleカレンダーやPicasaWebアルバムと連動させようと思ったので、Googleアカウントを取得。
 取得したアカウントでGoogle Calendarにおやじの会のスケジュールと学校行事・PTA行事を登録。
 Picasa Web Albumに過去のおやじの会の行事のアルバムを作成した。
・Twitterのアカウントを取得
・Pythonのインストール
 上で書いたように、最初はPython3.2を入れたが2.7を入れなおす。
 ググってpython-twitterというものがあるらしいと知ったのでeasy_install→python-twitterをインストール
・スクリプト作成
 ググって見つけたサンプルコードをまねて、Twitterに投稿するスクリプトを作成。
 いきなり認証でつまづく。
 OAuthしか許容しないようになってるんじゃないか?
 しかもpython-twitterは使えない雰囲気。
 ということで、「やる夫とPythonで学ぶTwitterのOAuth」を参考にTwitter botのAccess Tokenを取得した。
 コードも丸パクリでやってみたらうまくいったので一安心。
 けどこれってpython twitter意味ないんじゃ…
 ということで、oauth-python-twitterなるものがあるみたいなので、これをインストール。
 最初に書いて見事にこけたスクリプトを書き直して試してみる。

 「良いもの。悪いもの。」を参考にしてみたけどハマる。
 サンプルスクリプト中の”tw = OAuthApi(CONSUMER_KEY, CONSUMER_SECRET, request_token)”は不要みたいだ。
 あと、oauth-python-twitter には OAuthApi.getAccessTokenWithPin がないので、普通は__init__.pyを修正してインストールするみたい。
 しかしWindowsでeasy_installを使うと、修正する暇もなくインストールされてしまう。
 めんどくさいのでoauth-python-twitterを使うのはあきらめた。
 Linuxに載せ換えるときに考えよう。
タグ:Twitter bot
posted by 岩永 at 00:00| Comment(0) | TrackBack(0) | パソコン | このブログの読者になる | 更新情報をチェックする
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。