LINE WORKS API を使用してユーザーにメッセージを送信する
この記事では、LINE WORKS API を使用して、特定のユーザーにテキストメッセージを送信する方法を解説します。
以下の URL で Google Colab を使って簡単に試せます。
https://colab.research.google.com/drive/1qS2v4r5YDbfX4Zd8iVm_XiswFQUpJBwD?usp=sharing
必要な準備
-
LINE WORKS Developer Console での設定
- Bot を作成し、
Bot ID
を取得します。 - Bot を対象ユーザーにメッセージ送信可能な状態に設定します。
- Bot を作成し、
-
ユーザー ID の取得
- LINE WORKS の管理画面で
userId
を確認します。ユーザーのログイン ID やメールアドレス形式で指定可能です。
- LINE WORKS の管理画面で
-
Access Token の発行
- LINE WORKS API を使用するためのアクセストークンを取得します。
スクリプト
以下のスクリプトを使用して、特定のユーザーにテキストメッセージを送信します。
import requests
import json
# 必要な変数を入力
ACCESS_TOKEN = "YOUR_ACCESS_TOKEN" # @param {type:"string"}
BOT_ID = 2000001 # @param {type:"integer"}
USER_ID = "userf7da-f82c-4284-13e7-030f3b4c756x" # @param {type:"string"}
# API エンドポイント
API_URL = f"https://www.worksapis.com/v1.0/bots/{BOT_ID}/users/{USER_ID}/messages"
# メッセージの内容
message_content = {
"content": {
"type": "text",
"text": "こんにちは、これは特定のユーザーへのテストメッセージです!"
}
}
# HTTP ヘッダー
headers = {
"Authorization": f"Bearer {ACCESS_TOKEN}",
"Content-Type": "application/json"
}
# POST リクエストの送信
response = requests.post(API_URL, headers=headers, data=json.dumps(message_content))
# レスポンスの確認
if response.status_code == 201:
print("メッセージが正常に送信されました!")
else:
print(f"エラーが発生しました: {response.status_code}")
print(response.text)
スクリプトのポイント
必要なパラメータ
-
ACCESS_TOKEN
- LINE WORKS API の認証に使用されるアクセストークンです。
-
BOT_ID
- 使用する Bot の ID です。LINE WORKS Developer Console から取得できます。
-
USER_ID
- メッセージを送信する対象のユーザー ID です。
- ユーザーのログイン ID やメールアドレス形式で指定可能です。
メッセージの構造
送信するメッセージは以下の形式を取ります。
-
type
- メッセージのタイプを指定します(例:
text
)。
- メッセージのタイプを指定します(例:
-
text
- 実際に送信するテキストメッセージを指定します。
例:
{
"content": {
"type": "text",
"text": "こんにちは、これは特定のユーザーへのテストメッセージです!"
}
}
レスポンス例
成功時:
メッセージが正常に送信されました!
失敗時:
アクセストークンが無効な場合:
エラーが発生しました: 401 {"error":"Unauthorized","error_description":"Invalid access token"}
応用
-
多言語対応
-
i18nTexts
プロパティを追加することで、メンバーの言語設定に応じたメッセージを送信できます。
-
-
他のメッセージタイプ
- テキスト以外のメッセージ(スタンプ、テンプレートなど)にも対応可能です。
まとめ
このスクリプトを使用すれば、LINE WORKS API を使ったユーザーへのメッセージ送信を簡単に行えます。ぜひ試してみてください!