技術ブログ

GASでLINE Bot開発!Messaging API連携入門

/ 初心者向け

GASでLINE Bot開発!Messaging API連携入門

GASでLINE Bot開発!Messaging API連携入門

皆さん、こんにちは!Google Apps Script (GAS) を愛するブロガーの[あなたの名前]です。

今回は、多くの人が日常的に利用しているメッセージングアプリ「LINE」と、Googleが提供する強力な自動化ツール「GAS」を連携させて、オリジナルのLINE Botを開発する方法について、初心者の方にも分かりやすく解説していきます。

GASを使えば、プログラミングの経験が浅い方でも、手軽にWebアプリケーションや自動化ツールを作成できます。そして、そのGASを使ってLINE Botを開発できるとなれば、可能性は無限大ですよね!

なぜGASとLINE Botを連携させるのか?

GASとLINE Messaging APIを連携させることには、以下のようなメリットがあります。

  • 手軽に始められる: GASはブラウザ上で動作するため、特別な開発環境の構築は不要です。すぐにコーディングを始められます。
  • Googleサービスとの連携: Googleフォームからの回答をLINEで通知したり、GoogleスプレッドシートのデータをLINEで送受信したりと、Googleの各種サービスと簡単に連携できます。
  • 低コスト: 基本的に無料(利用量によっては一部従量課金あり)で利用できるため、個人開発や小規模なプロジェクトに最適です。
  • 自動化の幅が広がる: 定期的な情報発信や、ユーザーからの質問に自動で応答するなど、様々な業務を自動化できます。

LINE Messaging APIとは?

LINE Messaging APIは、LINEの公式アカウントを通じて、ユーザーと双方向のコミュニケーションを実現するためのAPIです。これを利用することで、以下のような機能を持つLINE Botを作成できます。

  • テキストメッセージの送受信
  • 画像、動画、音声などのファイル送受信
  • スタンプの送受信
  • ボタンやカルーセルなどのリッチなUIの表示
  • ユーザーのプロフィール情報の取得

GASとLINE Messaging APIの連携ステップ

では、具体的にどのように連携していくのか、ステップごとに見ていきましょう。

1. LINE Developersでプロバイダーとチャネルを作成する

まず、LINE Messaging APIを利用するための準備が必要です。

1. LINE Developersにアクセス: https://developers.line.biz/ にアクセスし、LINEアカウントでログインします。

2. プロバイダーの作成: 「プロバイダー」を作成します。これは、LINE公式アカウントの提供元となる組織名のようなものです。

3. チャネルの作成: 作成したプロバイダーを選択し、「Messaging API」のチャネルを作成します。ここで、Botの名前や説明などを入力します。

4. Channel secretとChannel access tokenの取得: チャネル作成後、「Channel secret」と「Channel access token」が表示されます。これらは後ほどGASからLINE Messaging APIを呼び出す際に必要となるため、必ず控えておきましょう。特に「Channel access token」は、Botの認証に使用される重要な情報です。

2. GASプロジェクトを作成し、LINE Botのコードを記述する

次に、GASでLINE Botのプログラムを作成します。

1. GASプロジェクトの作成: Googleドライブを開き、「新規」→「その他」→「Google Apps Script」を選択して、新しいプロジェクトを作成します。プロジェクトに分かりやすい名前(例: MyLineBot)をつけましょう。

2. コードの記述: エディタが表示されたら、以下のサンプルコードを参考に、LINE Messaging APIと連携するコードを記述します。

    function doPost(e) {
      var json = e.postData.contents;
      var lineEvent = JSON.parse(json);

      var replyToken = lineEvent.events[0].replyToken;
      var message = lineEvent.events[0].message.text;

      var responseMessage = "";

      if (message === "こんにちは") {
        responseMessage = "こんにちは!何かお手伝いできることはありますか?";
      } else {
        responseMessage = "「こんにちは」と話しかけてみてください。";
      }

      replyLineMessage(replyToken, responseMessage);
    }

    function replyLineMessage(replyToken, message) {
      var channelAccessToken = "YOUR_CHANNEL_ACCESS_TOKEN"; // ここに取得したChannel access tokenを入力

      var url = "https://api.line.me/v2/bot/message/reply";
      var headers = {
        "Content-Type": "application/json",
        "Authorization": "Bearer " + channelAccessToken
      };
      var payload = {
        "replyToken": replyToken,
        "messages": [
          {
            "type": "text",
            "text": message
          }
        ]
      };

      var options = {
        "method": "post",
        "headers": headers,
        "payload": JSON.stringify(payload)
      };

      UrlFetchApp.fetch(url, options);
    }
  • doPost(e)関数: LINEからWebhook(イベント通知)を受け取るための関数です。LINE Messaging APIはHTTP POSTリクエストでイベントを送信してくるため、GASではdoPost関数でこれを受け取ります。
  • e.postData.contents: LINEから送信されたJSON形式のイベントデータです。
  • lineEvent.events[0].replyToken: 返信に必要なトークンです。このトークンを使って、ユーザーにメッセージを返信します。
  • lineEvent.events[0].message.text: ユーザーが送信したメッセージのテキストです。
  • replyLineMessage関数: 実際にLINE Messaging APIにリクエストを送信して、メッセージを返信する関数です。
  • YOUR_CHANNEL_ACCESS_TOKEN: ここに、先ほどLINE Developersで取得した「Channel access token」を入力してください。

3. Webhook URLを設定する

GASで作成したプログラム(doPost関数)をLINE Messaging APIに通知するためには、Webhook URLを設定する必要があります。

1. GASプロジェクトのデプロイ: GASエディタの左側にある「デプロイ」アイコン(▶️ のようなアイコン)をクリックし、「新しいデプロイ」を選択します。ドロップダウンメニューで「アドオン」を選択し、タイプは「ウェブアプリケーション」を選択します。実行するユーザーは「自分」を選択し、アクセス権限は「全員」にします。そして「デプロイ」ボタンをクリックします。

2. Webhook URLのコピー: デプロイが完了すると、「ウェブアプリのURL」が表示されます。このURLをコピーしておきましょう。

3. LINE Developersでの設定: LINE Developersのチャネル設定画面に戻り、「LINEログイン」タブ(または「Messaging API」タブ)から「Webhook設定」の項目を探します。そこに、先ほどコピーしたGASのウェブアプリURLを貼り付けて保存します。

4. テストしてみる

これで準備は完了です!LINEアプリで、作成したLINE公式アカウントを友達追加し、先ほどコードで定義した「こんにちは」とメッセージを送ってみましょう。正しく設定されていれば、Botから返信が来るはずです。

さらに発展させるには?

今回の例は非常に基本的なものですが、GASとLINE Messaging APIを組み合わせることで、さらに高度なBotを作成できます。

  • Googleフォームとの連携: フォームの回答があったら、LINEで通知する。
  • Googleスプレッドシートの操作: スプレッドシートのデータをLINEで表示したり、LINEからのメッセージでスプレッドシートを更新したりする。
  • 画像やスタンプの送信: よりリッチなコミュニケーションを実現する。
  • リプライメニューの活用: ユーザーが選択しやすいように、メニューを表示する。

GASの豊富な機能とLINE Messaging APIの連携により、あなたのアイデア次第で様々な用途に活用できるLINE Botが開発できます。ぜひ、色々な機能に挑戦してみてください!

まとめ

今回は、Google Apps Script (GAS) を使ってLINE Messaging APIと連携し、オリジナルのLINE Botを作成する基本的な手順について解説しました。

  • LINE Developersでプロバイダーとチャネルを作成し、必要な情報を取得する。
  • GASでdoPost関数を中心にLINE Botのコードを記述する。
  • GASプロジェクトをデプロイし、Webhook URLをLINE Developersに設定する。

これらのステップを踏むことで、誰でも手軽にLINE Bot開発を始めることができます。GASの学習と並行して、このLINE Bot開発に挑戦してみることを強くお勧めします。

次回は、さらに具体的な活用事例や、よくある質問について解説していきたいと思います。お楽しみに!

GAS自動化の導入相談

請求書PDF作成、Gmail自動送信、Slack通知、スプレッドシート連携などを業務に合わせて実装できます。

請求書自動生成ツールを見る / SNS自動投稿ツールを見る