pythonでtwitterAPIを叩いてダイレクトメッセージを送る
pythonでtwitterAPIを叩いてダイレクトメッセージを送る
twitterと連携したアプリケーションを作成中です。
表題の件の通りpythonを使ってDMを送ってみます。
参考:TwitterのAPIを使ってダイレクトメッセージを送る
コード
これに至ってはもう参考そのまんまです。
#coding: utf-8
import json
from requests_oauthlib import OAuth1Session
CONSUMER_KEY = 'xxxxxxxxxx'
CONSUMER_SECRET = 'xxxxxxxxxx'
ACCESS_TOKEN = 'xxxxxxxxxx'
ACCESS_SECRET = 'xxxxxxxxxx'
twitter = OAuth1Session(CONSUMER_KEY, CONSUMER_SECRET, ACCESS_TOKEN, ACCESS_SECRET)
headers = {'content-type': 'application/json'}
url = 'https://api.twitter.com/1.1/direct_messages/events/new.json'
target_id = "1018853452531634176" #送付相手の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)
はまったところ
レスポンスで403が発生してしまいました。
<Response [403]>
これを解決するには2点注意が必要でした。
1.APIのパーミッションを変更する
2.パーミッションを変更した上で再発行したトークンを使用する
APIパーミッション変更
トークンの再発行
以上です!
ディスカッション
コメント一覧
まだ、コメントがありません