twitterAPI用pythonライブラリtweepyを使えるようになるまで。
2011年7月24日から、アナログテレビ放送は終了し、デジタル放送に移行するそうです。
twitterも、いつからかは知らないけどBasic認証を終了し、OAuth認証に移行するそうですよ!
大変ですね!!
現在私が作ったtwitter-bot@Korokですが、twitterと話はpython-twitterでつけています。python-twitterはどうやらBasic認証らしいし、なんか更新かかってないみたいだし、id:tohaeちゃんがOAuth対応はやくした方がいいよって云うからちゃっちゃとやっちゃいましょう。
使用するライブラリはtweepy。
公式 : GitHub Pages · File Not Found · GitHub
ドキュメント : GitHub Pages · File Not Found · GitHub
参考にしたエントリ : TwitterのbotをOAuthに対応させる - しばそんノート
インストール
easy_installを使用する。
$ easy_install tweepy
easy_installが使えない人はeasy_installのインストールからどうぞ。
インストールが完了したら使えるかちゃんと確認する。
$ python Python 2.6.2 (r262:71600, Jun 17 2009, 12:25:19) [GCC 4.2.1 20070719 [FreeBSD]] on freebsd7 Type "help", "copyright", "credits" or "license" for more information. >>> import tweepy >>>
特に何も警告が出なければ使える。
TwitterOAuth認証
以下の手順が必要。
- クライアントの登録
- access_keyの取得
クライアントの登録
参考にしたエントリ : TwitterのbotをOAuthに対応させる - しばそんノート の「OAuthクライアントを登録する」を参考にクライアントを登録する。
bot専用のクライアントなのでbotのアカウントで登録しておきました。"Application Name"の部分が"from ○○"のところに表示されるので好きな名前をつけましょう。念とか。
登録できたら「Consumer key」と「Consumer secret」をメモ。
access_keyの取得
access_keyとaccess_secretを生成するんですが、一回だけやればいいみたいなのでexample使ってやっちゃいます。
Tweepy - Gitorious からexamplesの中のgetaccesstoken.pyを使用させて貰いましょう。
Tree for examples in Tweepy - Gitorious
getaccesstoken.pyを手元で実行するとconsumer_keyとconsumer_secretの入力を求められます。
入力するとブラウザの方でアプリに実行を許すかの聞かれるので許可して7桁ぐらいの数字のPINコードを得る。
getaccesstoken.pyはPINコードの入力を待っているので入力
するとめでたくaccess_keyとaccess_secretが手に入る。
bash-3.2$ python getaccesstoken.py Consumer key: <<ここにconsumer_keyを入力>> Consumer secret: <<ここにconsumer_secretを入力>> Verification pin number from twitter.com: <<ここにPINコードを入力>> Access token: Key: <<ここにaccess_key出る>> Secret: <<ここにaccess_secretが出る>>
tweepyからポストしてみる
access_keyとaccess_secretが手に入るとようやく認証が必要なAPIを使用出来ます。
試しにポストしてみる。
import tweepy consumer_key = <<consumer_keyを入れる>> consumer_secret = <<consumer_secretを入れる>> access_key = <<access_secretを入れる>> access_secret = <<access_secretを入れる>> # create OAuth handler auth = tweepy.OAuthHandler(consumer_key, consumer_secret) # set access token to OAuth handler auth.set_access_token(access_key, access_secret) # create API api = tweepy.API(auth_handler=auth) # post kani api.update_status("kani")
馬鹿みたいにkaniってポストされる。
tweepyで使えるAPIと使い方
ドキュメント : GitHub Pages · File Not Found · GitHub の APIReferenceを見る。
難しい英語じゃないから頑張って読める。