GoogleスプレッドシートにLINEからメッセージを登録する

LINEとの連携

LINEとの連携一覧

ご訪問ありがとうございます。

Googleシートマスターのひろしです。

前回

スプレッドシートからLINEにスタンプ付きでメッセージを送信
  • スプレッドシートからLINEにスタンプ付きでメッセージを送ることができます。/li>
  • 前回のスクリプトに2行追加するだけで実現できます。
  • 今回は、とっても価値の高い方法をお伝えします。


    これを知ることであなたは、

    • LINEから送ったメッセージがGoogleスプレッドシートに登録する仕組みができあがります。
    • いつでも手軽にスプレッドシートにLINEからメモを追記することができます。

    なので、サクッとマスターして

    と答えてあげてください。

    動画はこちら

    準備するのもの

     

    LINEのmessaging API

     

    あなたのアカウントでログインします。

    Messaging API
    LINE Developersサイトは開発者向けのポータルサイトです。LINEプラットフォームのさまざまな開発者向けプロダクトを利用するための、管理ツールやドキュメントを利用できます。LINEログインやMessaging APIを活用して、...

     

    Step1.

    ①「今すぐ始めよう」をクリックします。

     

    Step2.

    ①「LINEアカウントでログイン」をクリックします。

     

     

     

    Step3.

    ①あなたのLINEアカウントでログインします。

     

    ログイン後の画面

    Step4.

    ①「新規プロバイダー作成」を選択します。
    ②プロバイダー名を入力します。(例:「Googleシートと連携」)
    ③「日本」を選択します。
    (④画像を設定します)

     

     

     

    Step5.

    ①「新規チャンネル作成」をクリックします。

    Step6.

    ①「Messageing API」をクリックします。

     

    Step7.

    ①「チャンネル名」を入力します。チャンネル名がBOT名なので、LINEのグループ名の
    ように表示されます。(例:Googleシートに登録)
    ②適当に説明を入力します。(例:LINEから送ったメッセージがGoogleスプレッドシートに登録される)
    ③なんでもいいです。(例:「」をクリックします。

     

    Step8.

    ①メールアドレスを入力します。
    ②利用規約を読みチェックします。
    ③「作成」をクリックします。

     

     

    Step9.

    ①「OK」をクリックします。

     

    Step10.

    ①「同意します」をクリックします。

     

     

    Messaging APIの設定

    Step1.

    ①「Messaging API設定」をクリックします。

     

     

    応答メッセージをOFFにします。

    Step2.

    ①「応答メッセージ」-「編集」をクリックします。
    ②「応答メッセージ」をクリックします。

     

     

    スクリプト側の設定

    Step1.

    ①以下のシートをコピペあるいは同様のシートを準備します。

     

    シートはこちら

    *クリックすることでシートが開きます。(コピーしてお使いください)

     

    Step2.

    ①「」をクリックします。②「」をクリックします。③「」をクリックします。

     

    後は動画をご覧ください

     

     

     

     

     

    シート

     

     

     

    スクリプト

    返信メッセージなし
    
    
    const LINE_ACCESS_TOKEN = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
    
    
    function doPost(e) {
    
    
      const SH_NAME = "LINEから"
    
    
      const event = JSON.parse(e.postData.contents).events[0]
      const replyToken = event.replyToken;
    
    
      let userMessage = event.message.text;
    
    
      const url = 'https://api.line.me/v2/bot/message/reply';
    
    
      const sh = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(SH_NAME)
      sh.insertRows(2, 1) //2行目に行挿入
      sh.getRange("A2").setValue(false)
      sh.getRange("B2").setValue(Utilities.formatDate(new Date(), 'Asia/Tokyo', 'yyyy/MM/dd HH:mm:ss'))
      sh.getRange("C2").setValue(userMessage)
    }

     

    LINEから返信メッセージ付き
    const LINE_ACCESS_TOKEN = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
    
    
    function doPost(e) {
    
    
      const SH_NAME = "LINEから"
    
    
      const event = JSON.parse(e.postData.contents).events[0]
      const replyToken = event.replyToken;
    
    
      let userMessage = event.message.text;
    
    
      const url = 'https://api.line.me/v2/bot/message/reply';
    
    
      const sh = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(SH_NAME)
      sh.insertRows(2, 1) //2行目に行挿入
      sh.getRange("A2").setValue(false)
      sh.getRange("B2").setValue(Utilities.formatDate(new Date(), 'Asia/Tokyo', 'yyyy/MM/dd HH:mm:ss'))
      sh.getRange("C2").setValue(userMessage)
    
    
      const text = '追加しました -> ' + userMessage + ' (計:' + sh.getLastRow() + '行)';
    
    
      UrlFetchApp.fetch(url, {
        'headers': {
          'Content-Type': 'application/json; charset=UTF-8',
          'Authorization': 'Bearer ' + LINE_ACCESS_TOKEN,
        },
        'method': 'post',
        'payload': JSON.stringify({
          'replyToken': replyToken,
          'messages': [{
            'type': 'text',
            'text': text,
          }]
        })
      });
      return ContentService.createTextOutput(JSON.stringify({ 'content': 'post ok' })).setMimeType(ContentService.MimeType.JSON);
    
    
    }

     

     

     

     

    ポイント

     

     

     

    コードを変更した場合は、毎回「新しいデブロイ」を作成し

    Webhook URLを変更し「検証」する必要があります。

    ※「検証」はタイムアウトしても再度行うと「OK」になる場合あり

     

     

    最後までご覧いただきありがとうございます。

    つぎはこちら

    【GAS】今日の予定を自動的にLINEに送信する方法(LINE アクセストークンの取得方法)
  • Googleカレンダーの今日の予定がLINEに送信されます。
  • Googleカレンダーを開かなくても良いので便利です。
  • LINEとの連携一覧

     

     

    参考サイト

    コメント

    タイトルとURLをコピーしました