1. ホーム
  2. /
  3. [LINE BOT]
  4. /
  5. 【GAS】LINE BOTで見栄えの良いボタン付きメッセージを送信する方法(ボタンテンプレート)

【GAS】LINE BOTで見栄えの良いボタン付きメッセージを送信する方法(ボタンテンプレート)

【GAS】LINE BOTで見栄えの良いボタン付きメッセージを送信する方法(ボタンテンプレート)

この記事では、Google Apps Script (GAS) を利用して、LINE BOTで「ボタンテンプレートメッセージ」を送信する方法を解説します。

ボタンテンプレートは、画像、タイトル、説明文、そして複数のアクションボタンを一つのまとまりとして送信できるメッセージ形式です。ユーザーに対して視覚的に分かりやすく、次のアクションを促したい場合に非常に効果的です。

公式ドキュメントはこちらを参照してください。

Google Apps Script 始め方 スプレッドシート 活用例
Google Apps Script 始め方 スプレッドシート 活用例 を各ショップで検索
LINE BOT チャットボット 作り方
LINE BOT チャットボット 作り方 を各ショップで検索

事前準備

実装を始める前に、以下の準備が必要です。

  1. チャンネルアクセストークンの取得: LINE Developersコンソールからアクセストークンを取得します。
【初心者向け】LINE Messaging APIのアクセストークンを取得する方法を解説
【初心者向け】LINE Messaging APIのアクセストークンを取得する方法を解説

LINE BOT開発に不可欠なMessaging APIのチャンネルアクセストークンを取得する手順を、実際の画面キャリプチャを交えて詳しく解説します。LINE Developersへの登録からプロバイダー、チャンネル作成、トークン発行までを網羅。

  1. ユーザーIDの取得: メッセージの送信先となるご自身のLINEユーザーIDを取得します。
【GAS】LINE BOTでユーザーIDを取得する方法|Webhookで情報を受け取る
【GAS】LINE BOTでユーザーIDを取得する方法|Webhookで情報を受け取る

Google Apps Script(GAS)を使って、LINE BOTと友だちになっているユーザーのIDを取得する方法を解説します。Webhook経由で送信されるイベント情報から、特定のユーザーを識別するための`userId`を抜き出すサンプルコードを紹介します。

実装コード

以下の関数は、ボタンテンプレートメッセージを送信します。

1. 定数の設定

まず、スクリプトで利用する定数を定義します。取得したチャンネルアクセストークンとユーザーIDを設定してください。

const TOKEN = 'LINEのトークンを指定(取得方法:https://arukayies.com/gas/line_bot/gettoken)';
const DEBUGID = 'LINEのユーザIDを指定(取得方法:https://arukayies.com/gas/line_bot/get-userid)';

2. ボタンテンプレートメッセージを送信するコード

以下の関数を実行することで、指定したユーザーにボタンテンプレートメッセージが送信されます。

//LINEBOTでボタンテンプレートを設定したメッセージを送るサンプル
function pushmessage_buttons_template() {
  //ボタンテンプレートを設定したメッセージを送る
  UrlFetchApp.fetch('https://api.line.me/v2/bot/message/push', {
    'headers': {
      'Content-Type': 'application/json',
      'Authorization': 'Bearer ' + TOKEN,
    },
    'method': 'POST',
    'payload': JSON.stringify({
      'to': DEBUGID,
      'messages': [
        {
          'type': 'template',
          'altText': 'ボタンテンプレートメッセージ',
          'template': {
            'type': 'buttons',
            'thumbnailImageUrl': 'https://placehold.jp/640x480.jpg?text=サンプル', // 画像のURL
            'imageAspectRatio': 'rectangle', // 画像のアスペクト比
            'imageSize': 'cover', // 画像の表示形式
            'imageBackgroundColor': '#FFFFFF', // 画像の背景色
            'title': 'メニュー',
            'text': '以下より選択してください。',
            'defaultAction': { // 画像やタイトル・テキスト部分をタップした際のアクション
              'type': 'uri',
              'label': 'View detail',
              'uri': 'https://arukayies.com/'
            },
            'actions': [ // ボタンのアクション
              {
                'type': 'uri',
                'label': 'TOPを開く',
                'uri': 'https://arukayies.com/'
              },
              {
                'type': 'uri',
                'label': '記事を開く',
                'uri': 'https://arukayies.com/gas/line_bot/pushmessage-buttons-template'
              }
            ]
          }
        }
      ],
      'notificationDisabled': false // trueだとユーザーに通知されない
    }),
  });
}

このコードでは、templatetypebuttonsを指定し、thumbnailImageUrltitletext、そして複数のactionsを設定しています。

動作確認

GASのスクリプトエディタでpushmessage_buttons_template関数を実行します。

実行すると、LINEにボタンテンプレートメッセージが送信されます。

TOPを開く」ボタンをタップすると、指定したURL(この例ではブログのトップページ)が開きます。

その他のアクションについては、以下の記事でまとめて解説しています。

【LINE BOT】GASで使える7種類のアクションオブジェクトまとめと比較
【LINE BOT】GASで使える7種類のアクションオブジェクトまとめと比較

LINE BOT開発で必須のアクションオブジェクト7種類(ポストバック、メッセージ、URI、日時選択、カメラ、カメラロール、位置情報)の機能と使い方をGoogle Apps Script (GAS) のサンプルを交えて徹底解説。それぞれの違いや最適な使い分けがわかります。

まとめ

今回は、GASを使ってLINE BOTでボタンテンプレートメッセージを送信する方法を解説しました。ユーザーに複数の選択肢を分かりやすく提示できるため、BOTの利便性を大きく向上させることができます。

Google Apps Script 始め方 スプレッドシート 活用例
Google Apps Script 始め方 スプレッドシート 活用例 を各ショップで検索
LINE BOT チャットボット 作り方
LINE BOT チャットボット 作り方 を各ショップで検索

関連記事

【GAS】LINE Messaging APIでクイックリプライメッセージを送信する方法

【GAS】LINE Messaging APIでクイックリプライメッセージを送信する方法

この記事では、Google Apps Script (GAS) を利用して、LINE BOTで「クイックリプライ」メッセージを送信する方法を初心者向けに分かりやすく解説します。

クイックリプライは、ユーザーがメッセージに対して簡単なボタン操作で返信できるようにする機能です。これにより、ユーザー体験を向上させることができます。

公式ドキュメントはこちらです。

Google Apps Script 始め方 スプレッドシート 活用例
Google Apps Script 始め方 スプレッドシート 活用例 を各ショップで検索
LINE BOT チャットボット 作り方
LINE BOT チャットボット 作り方 を各ショップで検索

【GAS】LINE Messaging APIで画像カルーセルメッセージを送信する方法

【GAS】LINE Messaging APIで画像カルーセルメッセージを送信する方法

この記事では、Google Apps Script (GAS) を利用して、LINE BOTで「画像カルーセルテンプレートメッセージ」を送信する方法を解説します。

画像カルーセルは、複数の画像を横にスクロールできる形式で表示し、それぞれにアクションを割り当てることができるメッセージタイプです。商品紹介や選択肢の提示など、視覚的でインタラクティブな表現が可能になります。

公式ドキュメントはこちらを参照してください。

Google Apps Script 始め方 スプレッドシート 活用例
Google Apps Script 始め方 スプレッドシート 活用例 を各ショップで検索
LINE BOT チャットボット 作り方
LINE BOT チャットボット 作り方 を各ショップで検索