LINE受信メッセージをスプレッドシートに転記する方法|Webhook × GAS

前回の記事では、LINEで受信したメッセージをスプレッドシートに転記するための4つの方法を紹介しました。

今回は、その中でもシンプルでリアルタイムな連携が可能な「Webhookを使用してメッセージを受け取る方法」についてご紹介します。

Webhookを活用すれば、LINEからのメッセージを即座にスプレッドシートに転記できるため、情報の整理や業務の効率化が容易になります。

目次

完成イメージ

  • LINEユーザーがメッセージを送信
    ユーザーがLINEアプリを使って、公式アカウントにメッセージを送信します。
  • LINEサーバーがWebhookをトリガー
    LINEのサーバーは、新しいメッセージを受け取ると、事前に設定されたWebhook URL(Google Apps ScriptのURL)に対してメッセージデータを送信します。
  • Google Apps Script(GAS)がリクエストを受信
    Google Apps Scriptは、LINEから送られてきたデータを受け取り、メッセージの内容を解析します。
  • メッセージ内容をスプレッドシートに保存
    受け取ったメッセージの内容をGoogleスプレッドシートに保存します。
Webhookについて

Webhookは、あるイベントが発生したときに、その情報を特定のURLに対して送信する仕組みです。

LINEからスプレッドシートへのメッセージ転記では、ユーザーがLINEにメッセージを送ると、その情報がWebhookを介してGoogle Apps Script(GAS)に送られ、スプレッドシートに保存されます。

この仕組みでリアルタイムでのメッセージ受信と転記が可能になり、手動での入力作業を省いて業務の効率化が期待できます。

Webhookを使用してLINEメッセージをスプレッドシートに転記する手順

  • LINE公式アカウントの作成
  • Google Apps Script のURLを確認
  • Webhook URLの設定
  • GASスクリプトの作成
  • WebhookとGASの連携確認

LINE公式アカウントの作成

Webhookを使うためにはLINE公式アカウントが必要です。

LINE公式アカウントの作成方法についてはこちらの記事をご参照ください。

Google Apps Script のURLを確認

Google Apps ScriptをWebhook URLとして設定するために、Google Apps Scriptの編集画面からURLを確認します。

STEP
GASエディタを開く
画像に alt 属性が指定されていません。ファイル名: GAS.png

Googleスプレッドシートを開き、メニューの「拡張機能」から「Apps Script」をクリックしてGASエディタを開きます。

STEP
デプロイを選択

GASエディタの画面右上にある「デプロイ」から「新しいデプロイ」を開きます。

デプロイとは、作成したプログラムをウェブ上で利用可能な状態にすることを指します。


STEP
ウェブアプリを選択

設定アイコンを開き、その中の「ウェブアプリ」を選択します。

STEP
デプロイ

「説明」フィールドには、デプロイするウェブアプリが何をするものなのかを記載します。

例:「LINEメッセージの受信とスプレッドシートへの転記」など

アクセスできるユーザーを「全員」に設定します。

STEP
Google Apps ScriptのURLをコピー

Google Apps ScriptのURLをコピーします。

この「ウェブアプリのURL」がWebhook URLになります。

Webhook URLの設定

Google Apps ScriptのウェブアプリURLを取得したら、次にLINE DevelopersコンソールでWebhook URLとして設定します。

STEP
LINE Developersコンソールにアクセス

LINE Developersコンソールにアクセスし、設定したいチャネルを選択します

STEP
Messaging APIの設定に進む

チャネルの管理画面から、「Messaging API設定」のセクションを見つけてクリックします。

STEP
Webhook URLを入力

Webhook URLを入力」というフィールドに、先ほどGASのデプロイで取得したURLを貼り付けます。

STEP
検証ボタンをクリック

検証」ボタンをクリックすると、LINE DevelopersはそのURLにテストリクエストを送信し、応答が正しいかどうかを確認します。

STEP
成功メッセージの確認

正常に設定されている場合、「検証成功」のメッセージが表示されます。

これにより、GASのURLが正しく設定されていることが確認でき、LINEからのメッセージが問題なく転送できます。

STEP
Webhookの利用設定を有効にする

Webhookの利用」のスイッチを「有効」にします。

GASスクリプトの作成

STEP
スプレッドシートID、シート名を確認

転記先のスプレッドシートを作成し、そのIDとシート名をメモしておきます。
GASでこのIDとシート名を使ってスプレッドシートにアクセスします。

スプレッドシートIDは、URLの中の /d//edit の間にある部分です。
シート名(例):LINE受信メッセージ

STEP
スプレッドシートに項目を入力

1行目をヘッダー行として以下のような項目を入力します。(任意)

項目名
A1日時
A2ユーザーID
A3受信メッセージ
STEP
GASエディタを開く

Googleスプレッドシートを開き、メニューの「拡張機能」から「Apps Script」をクリックしてGASエディタを開きます。

STEP
GASスクリプトの作成

function myFunction(){

}

が最初から入っているため、消去して以下のスクリプトを貼り付けます。

function doPost(e) {
  const spreadsheetId = 'スプレッドシートのIDをここに入力';
  const sheetName = 'シート名をここに入力';
  const sheet = SpreadsheetApp.openById(spreadsheetId).getSheetByName(sheetName);
  
  const data = JSON.parse(e.postData.contents);
  const userMessage = data.events[0].message.text;
  const userId = data.events[0].source.userId;
  const timestamp = new Date();

  sheet.appendRow([, timestamp, userId, userMessage]); // 2行目以降に転記するために1列目は空にします
  return ContentService.createTextOutput(JSON.stringify({status: 'success'})).setMimeType(ContentService.MimeType.JSON);
}
スクリプトの説明
STEP
スクリプトを保存

スクリプトを書いたら、名前を付けて保存します。

(例:「LINE受信メッセージ」)

なお、今回のスクリプトにおいては、LINEメッセージ受信すると自動的に実行されます。

そのため、GASエディタの実行ボタンを押す必要はありません。
(押してもエラーとなります)

WebhookとGASの連携確認

STEP
LINE公式アカウント宛にメッセージを送信

LINEアプリから作成した公式アカウント宛にメッセージを送信します。

STEP
スプレッドシートにデータが転記されていることを確認

スプレッドシートを開き、LINEで送信したメッセージが自動的に追加されていることを確認します。


これで、LINEのメッセージをスプレッドシートに転記する一連の手順が完了です。

まとめ

Webhookを使ってLINEメッセージをスプレッドシートに自動で転記することで、手動での入力作業を減らし、情報の整理を効率化することができます。

今回紹介した方法はリアルタイムでのメッセージ管理に適しています。

弊社では、Google Apps Script(GAS)を活用した業務効率化のサポートを提供しております。

GASのカスタマイズやエラー対応にお困りの際は、ぜひお気軽にご相談ください。

また、ITツールの導入支援やIT導入補助金の申請サポートも行っております。

貴方の業務改善を全力でサポートいたします。

お問い合わせはこちら

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次