1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

API Lab for LINE WORKSAdvent Calendar 2024

Day 3

LINE WORKS API メッセージ送信 トークルーム指定 テキスト

Last updated at Posted at 2024-12-02

LINE WORKS API を使用してトークルームにメッセージを送信する

この記事では、LINE WORKS API を使用して、指定されたトークルームにテキストメッセージを送信する方法を解説します。

以下の URL で Google colab で簡単に試せます。
https://colab.research.google.com/drive/1upbNsY0RmgAQcUlJxTE3Zb1Y_U2SmDrN?usp=sharing

必要な準備

  1. LINE WORKS Developer Console での設定

    • Bot を作成し、Bot ID を取得します。
    • Bot を対象のトークルームに参加させます。
  2. トークルーム ID の取得

    • LINE WORKS トークルームの CHANNEL_ID を確認します。
  3. Access Token の発行

    • LINE WORKS API を使用するためのアクセストークンを取得します。

スクリプト

以下のスクリプトを使用して、トークルームにテキストメッセージを送信します。

import requests
import json

# 必要な変数を入力
ACCESS_TOKEN = "YOUR_ACCESS_TOKEN"  # @param {type:"string"}
BOT_ID = 3725434  # @param {type:"integer"}
CHANNEL_ID = "753449a5-7716-39e4-3de9-770a97f1a5f5"  # @param {type:"string"}

# API エンドポイント
API_URL = f"https://www.worksapis.com/v1.0/bots/{BOT_ID}/channels/{CHANNEL_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)

スクリプトのポイント

必要なパラメータ

  1. ACCESS_TOKEN

    • LINE WORKS API の認証に使用されるアクセストークンです。
  2. BOT_ID

    • 使用する Bot の ID です。
    • LINE WORKS Developer Console から取得できます。
  3. CHANNEL_ID

    • メッセージを送信する対象のトークルーム(チャンネル)の ID です。

メッセージの構造

送信するメッセージは以下の形式を取ります。

  • type
    • メッセージのタイプを指定します(例: text)。
  • text
    • 実際に送信するテキストメッセージを指定します。

例:

{
  "content": {
    "type": "text",
    "text": "こんにちは、これはテストメッセージです!"
  }
}

レスポンス例

成功時:

メッセージが正常に送信されました!

失敗時:
アクセストークンが無効な場合:

エラーが発生しました: 401 {"error":"Unauthorized","error_description":"Invalid access token"}

応用

  • 多言語対応

    • i18nTexts プロパティを追加することで、メンバーの言語設定に応じたメッセージを送信できます。
  • 他のメッセージタイプ

    • テキスト以外のメッセージ(スタンプ、テンプレートなど)にも対応可能です。

まとめ

このスクリプトを使用すれば、LINE WORKS API を使ったトークルームへのメッセージ送信を簡単に行えます。ぜひ試してみてください!

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?