futabooo blog

色々手をつけすぎてすぐに忘れるので備忘録

PythonでTwitterAPIを使う

Twitterでこんな機能あったらいいなぁとか思ったので、作ってみよう!と思い立った。
だがしかし、大学の授業でベタ書きのプログラムしか書いたことのない僕には何から手をつけていいのかさっぱり。
しかし世の中には便利なツールが多々あるようで、その中にAPIというのがある。

APIとはApplication Program Interfaceの略で、IT用語辞典には以下のようにある。

あるプラットフォーム(OSやミドルウェア)向けのソフトウェアを開発する際に使用できる命令や関数の集合のこと。
また、それらを利用するためのプログラム上の手続きを定めた規約の集合。


つまり、例えばTwitterAPIを使えばTwitterで実現したいことを簡単にできるよ!ってことだと解釈。
よしよし、これをつかえばどこから始めていいのかわからない僕でもなんとなくでできてしまうんじゃないか?
などと期待をしつつ、TwitterAPIを調べていると、言語によって様々なものが用意されていることが分かった。

Twitter API
http://usy.jp/twitter/index.php?Twitter%20API


僕が授業や研究を通じて触れたことのある言語は、PascalJAVAPython、R(S言語?)ぐらいだ。
この中でもPythonはごちゃごちゃしてないので結構好きだった。ということでPythonを使って開発をしようと思う。


さてここからが手順。
まずは必要なTwitterAPIをインストールする必要がある。今回はPython-Twitterというやつを使う。
http://code.google.com/p/python-twitter/
(ここから先の手順はリンク先にも書いてある)

リンク先のダウンロードからファイルをダウンロードして適当な場所に解凍。
僕はダウンロードフォルダにそのまま解凍した。


そのあとはコマンドプロンプト

$ cd ./Downloads/python-twitter-0.8.2
$ python setup.py build
$ python setup.py install

これはまずディレクトリをファイルを解凍した場所に移す。(最後の0.8.2とかはバージョンなので人によって異なると思われる。)
二行目でビルドして、3行目でインストール。
インストールできたかどうかを確認するためにPythonでimportしてみる。

$ python
>>> import twitter
>>> api = twitter.Api('futabooo', '**********')
Twitter now requires an oAuth Access Token for API calls.
If your using this library from a command line utility, please
run the the included get_access_token.py tool to generate one.
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/Cellar/python/2.7.2/lib/python2.7/site-packages/python_twitter-0.8.2-py2.7.egg/twitter.py", line 2218, in __init__
    raise TwitterError('Twitter requires oAuth Access Token for all API access')
twitter.TwitterError: Twitter requires oAuth Access Token for all API access

なにやらエラーが。
「アクセストークンがねえぞゴラァ!」ということらしい。
APIを使うのに認証が必要でそのためのパスワードみたいなものか?
アクセストークンはTwitterDevelopersで登録する必要がある。めんどくさい\(^o^)/

どうやら認証の部分は結構めんどくさそうなので、また次回。