【トラブル】pythonのtweepyでtweepy.api.public_timeline()でエラーが出る

スポンサーリンク

コンテンツ

Ubuntu Magazineさんの過去記事Ubuntu Magazine Japan vol.07記事を公開の「格安VPSで24時間快適サーバー生活」の後ろの方のpython+TweepyでTwitterで遊ぶプログラムを試していたけど、エラーが出て動かないよ(´・ω・`)

コードの内容

#!/usr/bin/env python
import tweepy
tweets = tweepy.api.public_timeline()
for tweet in tweets:
	print tweet.text

Ubuntuマガジン07のコードそのまま^^;

エラーメッセージ

Traceback (most recent call last):
  File "get_timeline.py", line 3, in <module>
    tweets = tweepy.api.public_timeline()
AttributeError: 'API' object has no attribute 'public_timeline'

必要なpythonとtweetyも入れてあるので、環境に問題はないっぽい。

エラーメッセージを検索してみた

すると以下のページがヒット。英語。pythonでは英語がデフォルトっぽいので気にしない。
api.public_timeline() doesn’t exist? – Google グループ

なんとなく読むと
・最近(2012年10月末頃?)twitter APIの仕様が変わったから、tweepyからもエラー
・tweepyの最新の1.9でもtweepy.api.public_timeline()はダメかも
・次のバージョンのtweepyで対応すると思う
という感じらしい。適当に訳しただけなので当たっているかは不明。

APIは便利だけど、仕様の変更があるからけっこう恐ろしいな。セキュリティとかいろいろ理由はあるんだろうけど、ハマると新しい問題なのでだいたい英語の文章なのではう><ってなる。ちょっとまえにpython+amazonAPIのサンプルも試したけど、それも仕様が変わっていてはうってなったし。まあ変わるものは仕方ないや(^_^;)