本サイトは広告・プロモーションが含まれています
Python

【tweepy】AttributeError: ‘API’ object has no attributeのエラー解決【困り事メモ】

こんにちは。コンです。
最近Pythonを使ってtwitter botを作成したときに困った内容を書きます。

困った内容というのが
twitterの情報を取り扱うPythonライブラリのtweepyがバージョンが変わってattributeの書き方が結構変わったらしく
その解決方法を日本語で書いている文があまりなかったため
ここにメモ書きで書いていきます。

タイトルのエラーと格闘して作ったプログラムについてはこちら
解決方法の参考になると思います。

AttributeError: ‘API’ object has no attribute ‘me’

エラーが出たのは以下の文

import tweepy

consumer_key = 'hogehoge'
consumer_secret = 'hogehoge'
access_token_key = 'hogehoge'
access_token_secret = 'hogehoge'

auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token_key, access_token_secret)
api = tweepy.API(auth)

#エラーが発生したところ(自身のユーザーidを文字列で取得したかった)
my_user_id = api.me().id_str

どうやら自分のユーザーidを取得する書き方が変わったらしい。

公式ドキュメントを確認すると、api.verify_credentials()でユーザー情報を取得するようになったみたい。
なのでエラーが発生した文を

api.verify_credentials().id_str

に変更すると同じことができる。

‘API’ object has no attribute ‘search’

目的のツイートを探す書き方も変わったみたいでした。

keyword =["hogehoge", "hogehoge2"]
for q in keyword:
       #エラーが出た文(countの数だけ検索結果を表示)        
        search_results = api.search(q=q, count=maxTimeLine)

apiは上の段落で書いたコードのapiを指しております。
正しくは下のように書くそう

search_results = api.search_tweets(q=q, count=maxTimeLine)

searchに関する公式ドキュメントはここを参照してください!

‘API’ object has no attribute ‘followers_ids’

フォロワーとフォローに関する書き方も昔と変わったみたい。

#フォロワー数を格納するリストを用意
follower_list = []

#エラーした文(ユーザ情報からフォロワー数を取得、格納)
follower_list = api.follower_ids(my_user_id)

これもapiは上の段落で書いたコードのapiを指しております。


これもフォロワーに関する公式ドキュメントを確認すると

#ユーザ情報からフォロワー数を取得、格納
follower_list = api.get_follower_ids()

で実行可能になります。

‘API’ object has no attribute ‘friends_ids’

フォロワーの書き方が変わっていたら、自分のフォローしている人の書き方も変わったらしい。
以下がエラー文

#フォロー数を格納するリストを用意
friend_list = []

#ここでエラー発生(ユーザ情報からフォロー数を取得、格納)
friend_list = api.friends_ids(my_user_id)

これもフォローに関する公式ドキュメントから

friend_list = api.get_friend_ids()

で実行可能に。

おわりに

tweepyについて日本語で書いた記事があんまりなかったので
ここにまとめました。

参考になれば嬉しいです。

COMMENT

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA