特定のGmailをLINEに転送する方法(Messaging API)

Gmail

LINEとの連携一覧

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

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

今回は、とっても価値の高い方法をお伝えします。


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

Gmailで受信した大切なメールをLINEに通知させることができます。
(LINE Notify APIから手軽に移行することができます。)

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

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

すみません、「LINE Notify」が終了してしまっていました。

LINE Notify

 

 

 

 

なので、「LINE Notify」に変わって「Messaging API」を使用して
やってみましょう。

 

イメージとしては、

【GAS】特定のGmailをLINEに転送する方法(GmailとLINEの連携)
Gmailで特定のメールをLINEに通知させることができます。 GASを知らなくてもコピペでできます。

「LINE Notify」の部分を「Messaging API」に置き換える感じです。
また、「Messaging API」の取得方法は、

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

    とはいえ、「Messaging API」の仕様も少し変わっているので
    動画のとおりやってみてください。

     

    2024年9月4日をもってLINE DevelopersコンソールからMessaging APIチャネルを直接作成することはできなくなりました
    2024年8月14日にお知らせしたとおり、2024年9月4日をもって、LINE DevelopersコンソールからMessaging APIチャネルを直接作成することはできなくなりました。 今後は、あらかじめLINE公式アカウントを作成した...

    やること

    1. LINE公式アカウントを作成する。
    2. 作成したLINE公式アカウントでMessaging APIの利用を有効にする。
    3. プロバイダーを作成する。
    4. チャネルを作成する。
    5. Messaging APIの設定画面から、「チャネルアクセストークン(長期)」 を取得する。
    6. AppsScriptをコピペする
    7. メールのフィルターを確認する
    8. LINEにメッセージを送ってみる

     

    Messaging APIを始めよう
    Messaging APIを使うには、チャネルが必要です。チャネルを作成するには、を作成し、LINE公式アカウントでMessaging APIの利用を有効にします。このページでは、以下に示す2つの手順でMessaging APIチャネルを作...

     

     

    準備
    LINE Developerにフリープランで登録し、LINEアカウントでログイ

    2024年9月4日をもってLINE DevelopersコンソールからMessaging APIチャネルを直接作成することはできなくなりました
    2024年8月14日にお知らせしたとおり、2024年9月4日をもって、LINE DevelopersコンソールからMessaging APIチャネルを直接作成することはできなくなりました。 今後は、あらかじめLINE公式アカウントを作成した...

     

     

    対象のチャネルからアクセストークン

     

     

    LINE official Account ManagerからLINE Developersへの遷移方法

    「LINE Developer」から「プロバイダー」を作成し「Messaging APIチャネル」を
    作成しようとすると「LINE official Account Manager」でアカウントを作成するよう
    促されます。

    その際、「LINE official Account Manager」から「LINE Developer」へ戻る方法です。

    Step1.

    ①右上の「設定」をクリックします。
    ②「Messaging API」をクリックします。
    ③「Messaging APIを利用する」をクリックします。

     

    Step2.

    ①「プロバイダーを作成」で「プロバイダー名」を指定します。
    ②「同意する」をクリックします。

     

    Step3.

    ①「OK」をクリックします。(「プライバシーポリシー」、「利用規約」は空でOKです)

     

    Step4.

    ①「LINE Developersコンソール」をクリックします。

     

     

     

     

     

     

     

     

     

     

    動画はこちら

     

    スクリプト

    const LINE_ACCESS_TOKEN = 'アクセストークン'   //★
    
    
    
    //検索文字列
    const query = "subject:テスト";               //★
    //例) const query = "subject:(テスト) from:xxxx@gmail.com"
    
    
    //メールをチェックし条件に該当するメールをLINEに通知する
    function getMail() {
    
    
      //指定した条件でスレッドを検索して取得
      const myThreads = GmailApp.search(query, 0, 10);
    
    
      //スレッドからメールを取得し二次元配列に格納
      const myMessages = GmailApp.getMessagesForThreads(myThreads);
    
    
      for (let i in myMessages) {
        for (let j in myMessages[i]) {
    
    
          //スターがないメッセージのみ処理  
          // if(!myMessages[i][j].isStarred()){
    
    
          //未読メッセージのみ処理  
          if (myMessages[i][j].isUnread()) {
            let strmsg = Utilities.formatDate(myMessages[i][j].getDate(), 'Asia/Tokyo', 'yyyy-MM-dd HH:mm:ss') + "\n" //タイムスタンプ
            strmsg += myMessages[i][j].getSubject() + "\n" //Subject
            strmsg += myMessages[i][j].getPlainBody().slice(0, 200)//本文の先頭から200文字
    
    
            //LINEにメッセージを送信
            sendLineMessage(strmsg);  //★
            console.log(strmsg);      //★
    
    
            //処理済みのメッセージをスターをつける
            // myMessages[i][j].star()
    
    
            //処理済みのメッセージを既読にする★
            // myMessages[i][j].markRead()
          }
        }
      }
    }
    
    
    function test() {
      sendLineMessage("LINEに送ってみる")
    }
    
    
    //LINEにメッセージを送信する
    function sendLineMessage(message) {
      const options = {
        "method": "post",
        "headers": {
          "Content-Type": "application/json",
          "Authorization": `Bearer ${LINE_ACCESS_TOKEN}`
        },
        "payload": JSON.stringify({
          "messages": [{
            "type": "text",
            "text": message
          }]
        })
      };
      UrlFetchApp.fetch("https://api.line.me/v2/bot/message/broadcast", options);
    }
    
    

    ポイント

    プロバイダーの作成

    チャネルの作成

    Messaging APIの作成

    トークンの取得

    LINEメッセージの送信

    該当メールの取得

     

     

    私自身よくわかっていないので、ちょっと雑な作りになっています。

    とはいえ、一応動作はしているので問題ないと思います。

     

     

     

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

    つぎはこちら

    Googleスプレッドシートの変更をLINEに通知する方法
    スプレッドシートに行が追加されるとLINEに通知することができます。 スプレッドシートでセルが変更されるとLINEに通知することができます。 とても簡単に設定できます。

    LINEとの連携一覧

    コメント

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