業務案件で、facebook Graph API を使ってworkplaceにメッセージを通知する事があったのでメモ。
※ちなみに送信できるメッセージは2000文字です。
import requests
def _send_message_workplace(message: str):
"""
workplaceにメッセージを送信
"""
# メッセージの上限を超えた部分は削除して送信する
if len(message) > 2000:
warn_msg = 'message is omitted to first 2000 characters.'
print(warn_msg)
message = message[:2000]
# アクセストークンを事前に生成しておく必要がある
token = 'xxxxxxxxx'
# 通知先のグループチャットのID
thread_key = 't_xxxxxxxxxxxxxxx'
headers = {
'Content-type': 'application/json',
'Authorization': 'Bearer ' + token
}
data = {
"recipient": {
"thread_key": thread_key
},
"message": {
"text": message
}
}
post_url = 'https://graph.facebook.com/v10.0/me/messages'
print("sending message...")
response = requests.post(post_url, headers=headers, json=data)