これまでの記事でtwitter APIを使っていいねをする方法やツイートを取得する方法、定期的・ランダムにツイートする方法をお伝えしました
この記事では、pythonでtwitter APIを使用してダイレクトメッセージを送る方法について解説をしていきいたいと思います
- pythonを勉強中
- pythonでtwitter APIを使用して、ダイレクトメッセージを送りたい方
もっと詳しく知りたい方は、以下の記事を参考にしてください
pythonでtwitterを扱えるようになると、twitterで行われている懸賞に自動で応募することができるようになります
pythonでtwitter APIを使用してダイレクトメッセージを送る方法
まずはサンプルコードから
# ライブラリの読み込み
import tweepy
#****には自身のコードを入力してください
CONSUMER_KEY = '****'
CONSUMER_SECRET = '****'
ACCESS_TOKEN = '****'
ACCESS_SECRET = '****'
#twitter認証
auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET)
auth.set_access_token(ACCESS_TOKEN, ACCESS_SECRET)
api = tweepy.API(auth)
# アカウント指定(Twitterアカウントの@以降の英数字)
Account = '****'
# アカウントの内部IDを取得する
inner_id = api.user_timeline(Account, count=1, page=0)[0].user.id
api.send_direct_message(recipient_id=inner_id,text='Hello world!')
これだけで指定した相手にダイレクトメッセージを送ることができます
twitter APIの事前準備
pythonでtwitterを操作するには、事前にAPIキーを取得しておく必要があります
twitter APIの取得は年々厳しくなっていますが、私が2022年に取得した方法を解説していますので、そちらを参考にしながらAPIキーを取得してください
API権限の確認
twitter APIでは、権限が3種類用意されています
- Read:ツイートを読み込むだけ
- Read and Write:ツイートすることも可能
- Read + Write + Direct Message:ダイレクトメッセージの送信が可能
- デフォルトでは「Read」になっているので、「Read + Write + Direct Message」にチェックを入れます
チェックを入れ替えて、Saveをしたら、再度APIキーを生成する必要がありますので、生成後、サンプルコードに貼り付ければOKです
api.send_direct_message()でダイレクトメッセージは可能です
しかし引数のrecipient_idが内部IDを指しているので、数値型を指定する必要があります
異なる型を指定すると、「‘code’: 214, ‘message’: “event.message_create.target.recipient_id: ‘hogehoge’ is not a valid Long”」
のようなエラーが出ますので、気をつけてください
次回はpythonでtwitter APIを使用して自動フォローをする方法について解説していきます!