Pythonで動いてるTwitterボットたちをOAuth移行するため、何がいいか探してた。
めんどくさがりやな自分として以下の条件で
- 導入が簡単。
- 分かりやすい。
- うごきゃいいんだよ。
まぁ、あれですね。楽にやりたかったわけですよ。oauth-python-twitterを最初に見つけたんですが、結局tweepyの方が楽でわかりやすかったんでこっちで。
アプリケーション登録
アプリケーション登録申請を行い、consumer_keyとconsumer_secretをメモっときましょう。
tweepyのインストール
$ sudo easy_install tweepy
easy_install入ってない方は入れる。
$ sudo wget -P /usr/local/src http://peak.telecommunity.com/dist/ez_setup.py $ cd /usr/local/src $ sudo python ez_setup.py
access_key、access_secretを発行する必要があるので、
下記gitリポジトリをチェックアウトして、getaccesstoken.pyを使わせてもらう。
$ git clone git://gitorious.org/tweepy/examples.git $ cd examples/oauth $ python getaccesstoken.py
自分の場合、リモート上で動いているのでwebbrowser.open()はコメントアウトしてURLをprintしてます。
で、そのURLをコピペしてverificationをゲットしてます。
#webbrowser.open(auth.get_authorization_url()) print auth.get_authorization_url()
tweepyをimportするだけでわずらわしいoauth周りのライブラリを意識しないで済むので
個人的には好みです。
こんな感じに投稿されます。
# /usr/bin/python # -*- coding: utf-8 -*- import tweepy consumer_key = 'xxx' consumer_secret = 'xxx' access_key = 'xxx' access_secret = 'xxx' def post(message): auth = tweepy.OAuthHandler(consumer_key, consumer_secret) auth.set_access_token(access_key, access_secret) api = tweepy.API(auth_handler=auth) api.update_status(message) def main(): post("fuga") main()