Twitterのリストにユーザーを追加できない
Tweepy を使ってリストにユーザーを追加するプログラムを書いて実行してみると,エラーが出て追加できませんでした.
色々試してみたところ,追加できるユーザーには条件があるようです.
ソースコード
# -*- coding: utf-8 -*-
import tweepy
consumer_key = 'consumer keyの値'
consumer_secret = 'consumer secretの値'
access_token = 'access tokenの値'
access_token_secret = 'access token secretの値'
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)
api = tweepy.API(auth)
api.add_list_member(screen_name='追加するユーザー', slug='リスト名', owner_screen_name='自分')
こんな感じでコーディングします.引数の順番を間違えると,エラーが出ます.
You must specify either a list ID or a slug and owner.
code: 112
ID などを利用したい場合など,詳しい使い方は tweepy の公式ページより GitHub を参照したほうがわかりやすいです.
エラーメッセージ
You aren't allowed to add members to this list.
code: 104
的なことを言われます.
ぐぐってもほとんど出てこなかったので,片っ端から色々試して原因を探ります.
リストにメンバーを追加する権限がありません,という内容になってますが API はちゃんと使えているので,認証できていないわけではありません.
リストの公開・非公開設定も変更しましたが,エラー内容は変わりませんでした.
追加できるユーザーと追加できないユーザー
となると,リストに追加しようとしているユーザーの性質に起因するとしか考えられず...案の定,ユーザーにはリストに追加できない条件があることが分かりました.
追加できないユーザーとは,ブロックされているユーザーとフォロー申請中の鍵付きユーザー.
後者は見落としていました...
同じ非公開アカウントでも,フォロー許可を得たユーザーは追加できます.
フォロー申請が受理されるまでは鍵付きですから,考えてみれば当たり前ですが,コーディングしていると案外気づかないものですね.