2
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 13

LINE WORKS API Bot の固定メニューを登録する

Last updated at Posted at 2024-12-12

LINE WORKS API を使った固定メニューの登録方法

LINE WORKS の Bot 固定メニューを API を使用して登録する方法を解説します。この記事では、Google Colab を使用して固定メニューを登録する Python スクリプトを紹介します。

必要な準備

以下の準備が必要です:

  1. Access Token
  2. Bot ID: 作成した Bot の ID を確認してください。
  3. 必要なスコープ: bot

スクリプトを試す

以下の共有リンクをクリックして、Google Colab 上ですぐにスクリプトを試すことができます:

Google Colab で固定メニューを試す

  1. 上記リンクをクリックして Google Colab にアクセスします。
  2. ACCESS_TOKENBOT_ID を入力してください。
  3. セルを実行すると、固定メニューが登録されます。

スクリプトの説明

以下のスクリプトは、Google Colab にコピーして実行することもできます。

import requests
import json

# 必要な変数を設定
ACCESS_TOKEN = "your_access_token"  # @param {type:"string"}
BOT_ID = 2000001  # @param {type:"integer"}

# 固定された API サーバー URL
API_SERVER = "https://www.worksapis.com"

# 固定メニューのデータを作成
MENU_DATA = {
    "content": {
        "actions": [
            {
                "type": "message",
                "label": "メッセージ送信",
                "text": "こんにちは!",
                "postback": "postback_message"
            },
            {
                "type": "uri",
                "label": "Webサイトを開く",
                "uri": "https://example.com"
            }
        ]
    }
}

# 固定メニューを登録する関数
def register_persistent_menu(menu_data):
    """固定メニューを登録する関数"""
    url = f"{API_SERVER}/v1.0/bots/{BOT_ID}/persistentmenu"
    headers = {
        "Authorization": f"Bearer {ACCESS_TOKEN}",
        "Content-Type": "application/json"
    }
    response = requests.post(url, headers=headers, data=json.dumps(menu_data))
    
    if response.status_code in [200, 201]:
        print("✅ 固定メニューが正常に登録されました!")
        print("Response:", response.json())
    else:
        print("❌ 固定メニューの登録に失敗しました。")
        print(f"Status Code: {response.status_code}")
        print(f"Response: {response.text}")

# メイン処理
def main():
    print("📤 固定メニューを登録中...")
    register_persistent_menu(MENU_DATA)

# 実行
if __name__ == "__main__":
    main()

これで LINE WORKS の固定メニューを登録することができます。質問があればコメントでお知らせください!

2
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
2
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?