【Python】TwitterのAPIを使ってダイレクトメッセージを送る
こんにちは!
タダケン(@tadaken3)です。
今回はTwitterのAPIを使って、Pythonでダイレクトメッセージを送る方法についてまとめました。 TwitterのDMが仕様変更になったらしく、MENTAから相談があったので、ブログにも掲載することにしました。
事前準備
Twitter APIを利用するためには、Twitter Developerアカウントが必要です。以下の記事を参考にDeveloperアカウントの申請をしてみてください。
また、Twitterにスクリーンネーム(ボクの場合@tadaken3)とは別にシステムで使用するためのユーザーIDが付与されています。DMを送付するにはユーザーIDが必要となりますので、以下のサイトなどを、サンプルコードでDMをお送りたい相手のユーザーIDを調べておいてください。
サンプルコード
あとは以下のサンプルコードを使って送付します。コメントにそって、コンシューマーキーやユーザーID、メッセージを編集してください。
# coding: utf-8 import json from requests_oauthlib import OAuth1Session # コンシューマーキーなどをいれてください CK = "CONSUMER_KEY" CS = "CONSUMER_SECRET" AT = "ACCESS_TOKEN" ATS = "ACCESS_TOKEN_SECRET" twitter = OAuth1Session(CK, CS, AT, ATS) headers = {'content-type': 'application/json'} url = 'https://api.twitter.com/1.1/direct_messages/events/new.json' target_id = "11111111" # ここに送付相手のidを入力しましす message_text = "Hello World!" # ここにメッセージを書きます。 payload = {"event": {"type": "message_create", "message_create": { "target": {"recipient_id": target_id }, "message_data": {"text": message_text,} } } } payload = json.dumps(payload) res = twitter.post(url, headers=headers, data=payload) print (res)
こんな感じでDMが送付できれば成功です!