1. ホーム
  2. /
  3. [LINE BOT]
  4. /
  5. 【GAS】LINE BOTでユーザーIDを取得する方法|Webhookで情報を受け取る

【GAS】LINE BOTでユーザーIDを取得する方法|Webhookで情報を受け取る

【GAS】LINE BOTでユーザーIDを取得する方法|Webhookで情報を受け取る

この記事では、Google Apps Script (GAS) を使って、LINE BOTと友だちになっているユーザーの「ユーザーID」を取得する方法を解説します。

ユーザーIDは、特定のユーザーにメッセージを送信(プッシュメッセージ)したり、ユーザーごとの情報を管理したりする際に必須となる重要な情報です。

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

事前準備

チャンネルアクセストークンの取得

LINE Developersコンソールから、利用するBOTのチャンネルアクセストークンを取得してください。詳しい手順は以下の記事で解説しています。

【初心者向け】LINE Messaging APIのアクセストークンを取得する方法を解説
【初心者向け】LINE Messaging APIのアクセストークンを取得する方法を解説

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

GASでユーザーIDを取得するサンプルコード

以下のコードは、ユーザーがBOTにメッセージを送った際に、そのユーザーのIDを取得し、オウム返しで返信するサンプルです。LINEプラットフォームからのWebhookリクエストをGASのdoPost関数で受け取ります。

コード内の TOKEN は、ご自身のチャンネルアクセストークンに書き換えてください。

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

//メッセージを送ったらそのユーザーIDを返信する
function doPost(e) {
  // Webhookで受信した応答用データを取得
  const responseLine = e.postData.getDataAsString();
  // JSON形式に変換
  const event = JSON.parse(responseLine).events[0];
  // 応答用トークンを取得
  const replyToken = event.replyToken;
  // ユーザーIDを取得
  const userID = event.source.userId;

  // 返信するメッセージを作成
  const LineMessageObject = [{
    'type': 'text',
    'text': `あなたのユーザーID: ${userID}`
  }];

  // 応答メッセージ用のヘッダーを作成
  const replyHeaders = {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer ' + TOKEN
  };

  // 応答メッセージ用のペイロードを作成
  const replyBody = {
    'replyToken': replyToken,
    'messages': LineMessageObject
  };
  
  // 応答メッセージ用のオプションを作成
  const replyOptions = {
    'method': 'POST',
    'headers': replyHeaders,
    'payload': JSON.stringify(replyBody)
  };
  
  // LINE Messaging APIに応答メッセージを送信
  UrlFetchApp.fetch('https://api.line.me/v2/bot/message/reply', replyOptions);
}

このコードでは、Webhookイベントオブジェクトの event.source.userId からユーザーIDを取得しています。

設定手順

上記のコードをGASで動作させるには、以下の設定が必要です。

1. ウェブアプリとしてデプロイ

作成したGASプロジェクトを「ウェブアプリ」としてデプロイし、URLを取得します。詳しい手順は以下の記事を参考にしてください。

【GAS】Google Apps Scriptで簡単なLINE BOTを作る方法(コピペ可)
【GAS】Google Apps Scriptで簡単なLINE BOTを作る方法(コピペ可)

Google Apps Script(GAS)を使って、特定のキーワードに反応するシンプルなLINE BOTを作成する手順を解説します。Googleアカウントさえあれば無料で開発可能。初心者でもコピペで実装できるよう、コードと設定方法を詳しく紹介します。

2. LINE DevelopersにWebhook URLを設定

LINE Developersコンソールのチャンネル設定画面で、上記で取得したウェブアプリのURLを「Webhook URL」に設定します。

【GAS】Google Apps Scriptで簡単なLINE BOTを作る方法(コピペ可)
【GAS】Google Apps Scriptで簡単なLINE BOTを作る方法(コピペ可)

Google Apps Script(GAS)を使って、特定のキーワードに反応するシンプルなLINE BOTを作成する手順を解説します。Googleアカウントさえあれば無料で開発可能。初心者でもコピペで実装できるよう、コードと設定方法を詳しく紹介します。

動作確認

すべての設定が完了したら、LINEアプリからBOTアカウントに何かメッセージを送ってみてください。BOTがあなたのユーザーIDを返信してくれれば成功です。

ユーザーIDの取得結果

まとめ

今回は、GASのdoPost関数を使ってWebhookイベントを受け取り、そこからユーザーIDを取得する方法を解説しました。このユーザーIDを使えば、特定のユーザーに対する様々なアプローチが可能になります。

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 チャットボット 作り方 を各ショップで検索