「自分だけのLINEボットを作ってみたいけど、サーバーとか難しそう…」 そう思っていませんか?

実は、Google Apps Script (GAS)LINE Messaging API を使えば、サーバー代0円、環境構築もブラウザだけで完結するボットが作れるんです!

今回は、プログラミング初心者の方でも分かるように、LINEボットの「目と耳(LINE側)」と「頭脳(GAS側)」をつなぐ手順を解説します。

🛠 仕組みのイメージ

  • LINE (Messaging API): ユーザーからのメッセージを受け取る「窓口」
  • GAS (Google Apps Script): メッセージに対してどう返事をするか考える「頭脳」

この2つをWebhookという技術でつなぎます。


手順1:LINE Developersでチャンネル作成

まずは「LINE側」の準備です。

  1. LINE Developersコンソールにアクセスしてログイン。
  2. プロバイダー(フォルダのようなもの)を作成。
  3. **「Messaging API」**のチャンネルを新規作成。
  4. 作成後、以下の2つの「鍵」をメモしておきます。
    • チャネルシークレット(基本設定タブ)
    • チャネルアクセストークン(長期)(Messaging API設定タブ)

手順2:GASで「頭脳」を作る

次に「GAS側」でプログラムを書きます。

  1. Googleドライブから「Google Apps Script」を新規作成。
  2. 以下のコードをコピペします(CHANNEL_ACCESS_TOKENには先ほどのトークンを入れます)。

JavaScript

// さっき取得した「チャネルアクセストークン(長期)」をこの下の '' の中に入れてください
const CHANNEL_ACCESS_TOKEN = 'ここに長いアクセストークンを貼り付け';

function doPost(e) {
  // LINEから送られてきたデータを取り出す
  const json = JSON.parse(e.postData.contents);
  const events = json.events;

  // イベントごとに処理(基本は1つですが、念のためループ)
  events.forEach(function(event) {
    if (event.type === "message" && event.message.type === "text") {
      const replyToken = event.replyToken;
      const userMessage = event.message.text;

      // LINEに返信する
      UrlFetchApp.fetch('https://api.line.me/v2/bot/message/reply', {
        'headers': {
          'Content-Type': 'application/json; charset=UTF-8',
          'Authorization': 'Bearer ' + CHANNEL_ACCESS_TOKEN,
        },
        'method': 'post',
        'payload': JSON.stringify({
          'replyToken': replyToken,
          'messages': [{
            'type': 'text',
            'text': 'あなたが言ったのは: ' + userMessage,
          }],
        }),
      });
    }
  });

  return ContentService.createTextOutput(JSON.stringify({'content': 'post ok'})).setMimeType(ContentService.MimeType.JSON);
}
  1. デプロイ(ウェブアプリとして公開)を行います。
    • アクセス権限を**「全員」**にするのが最大のポイントです!
  2. 発行された ウェブアプリURL をコピーします。

手順3:2つをつなぐ(Webhook設定)

最後に、LINE側にGASの住所(URL)を教えます。

  1. LINE Developersに戻り、「Messaging API設定」タブへ。
  2. Webhook設定にGASのURLを貼り付け、「Webhookの利用」をONにします。
  3. 公式アカウント機能の設定で「応答メッセージ」をオフにします(これがないと、自動返信と被ってしまいます)。

🎉 完成!

これで、ボットに「こんにちは」と送ると、「あなたが言ったのは: こんにちは」と返ってくるはずです。

環境構築はこれで完了! ここから、「スプレッドシートに記録する」「AIと会話させる」など、機能をどんどん追加していけます。