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認証

以下の手順が必要。

  1. クライアントの登録
  2. 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を見る。
難しい英語じゃないから頑張って読める。

2011/06/29追記

Yahoo!知恵袋で、プログラミング未経験者さんがtwitter上のツイートを収集したいけど上手くいかない!という質問があり、その回答に拙稿へのリンクを挙げて頂いたようです。お恥ずかしい限りですね。
大量にtwitter上のツイートが欲しいというだけならば、id:pcodtwitter検索のダンプを公開されているので、こちらを借用されてはいかがでしょうか。
気づくのが遅くて知恵袋の方では回答がしめきられていたので、追記という形で失礼致します。
以上です。