メインコンテンツへスキップ
見出し画像
Photo bym316jp2

GASを使ったLINE Messaging APIでのユーザーID取得方法

    「LINEボットを開発していて、特定のユーザーにメッセージを送信したい」そんなとき必要になるのが、LINE Messaging APIを使ったユーザーIDの取得です。

    ユーザーIDとは?

    ユーザーIDは、いわば「LINEプラットフォーム上の会員番号」のようなものです。具体的には、"U"で始まり、その後に16進数の数字とアルファベットが32文字続く形式で表されます。これは、ユーザーの表示名やLINE IDとは全く異なる、プログラムによる個別メッセージ配信のために特別に用意された識別子です。

    LINE Developersの公式ドキュメントには、ユーザーIDの取得方法が記載されていますが、初めて読むとその内容はなかなか理解しづらいものです。私も最初はこの部分で苦戦し、自分のユーザーIDを知るのに大変苦労しました。

    GASを使ったユーザーIDの取得方法

    そこで今回は、私が試行錯誤の末にたどり着いた「Google Apps Script(GAS)を使ったユーザーIDの取得方法」をご紹介します。もしかしたら、もっと簡単な方法があるかもしれませんが、同じような悩みを抱えている方々の参考になればと思います。

    Webhook URLの活用

    この方法では、Webhook URLを設定することで、LINEプラットフォームからGASにデータを送信できるようにします。ユーザーがボットと友だちになったり、メッセージを送信したりする際に、様々なイベントが発生します。こうしたイベントが起こるたびに、Webhook URLを通じてGASにデータが送信されます。このデータにはユーザーIDが含まれているため、GASを利用して簡単に取得することができるのです。

    この手順を知っておくことで、LINEボットをよりパーソナライズされた形で運用できるようになります。

    GASを使ったユーザーIDの取得手順

    1.LINE Developersコンソールでの設定

    ・
    LINE Developersコンソール(https://developers.line.biz/console/)にアクセスし、新しいプロジェクトを作成します。
    ・Messaging APIを有効にし、チャネルアクセストークンを取得します。


    画像

    2.Google Apps Scriptの準備

    ・Google Apps Script (GAS) を開き、新しいプロジェクトを作成します。
    ・以下のようなスクリプトを作成し、LINEからのWebhookイベントを処理します。
    "ここにはチャネルアクセストークンを書きます"のところに、1で取得したチャネルアクセストークンを書きます。

    function doPost(e) {
      const token = "ここにはチャネルアクセストークンを書きます";
      
      try {
        const eventData = JSON.parse(e.postData.contents).events[0];
        const userId = eventData.source.userId;
        const replyMessage = `あなたのUser_IDは${userId}です。`;
        
        const payload = {
          'replyToken': eventData.replyToken,
          'messages': [{
            'type': 'text',
            'text': replyMessage
          }]
        };
        
        UrlFetchApp.fetch('https://api.line.me/v2/bot/message/reply', {
          'payload': JSON.stringify(payload),
          'method': 'POST',
          'headers': {'Authorization': 'Bearer ' + token},
          'contentType': 'application/json'
        });
        
      } catch(error) {
        Logger.log('エラー: ' + error);
      }
    }
    
    


    3.GASプロジェクトのデプロイ

    ・スクリプトを保存し、ウェブアプリケーションとしてデプロイします。

    画像


    画像


    ・デプロイ時に、Webhook URLを取得し、LINE DevelopersコンソールのWebhook設定に追加します。

    画像
    1. テストと確認

      • LINEアプリでBotを友だち追加し、ボットになんでもいいので話しかけてみましょう。するとあなたのユーザーIDを返してくれます。


    画像
    こんなメッセージが届きます。
    "U"で始まり、その後に16進数の数字とアルファベットが32文字続きます。



    このようにして、GASを用いてLINE Messaging APIを活用し、ユーザーIDを取得することができます。これにより、よりパーソナライズされたユーザー体験を提供することが可能になります。



    ーーーーーーーーーー
    私の書いた本が出版されました!
    \Twitterからうまれた/
    ちょっと理系なおうち遊びの本

    Amazon 売れ筋ランキング  
    幼児教育 カテゴリー  有料Top100
    ベストセラー1位✨ になりました!
    ありがとうございます!
    KindleUnlimited, ペーパーバックでも読めます!


    画像




     
     
    家庭にAIを導入したら、毎日が前に進み始めた! 著書『AI×家事』扶桑社 WOMAN AI AWARD 2026 受賞 miyazakimari.com NHK・日テレ・フジ・雑誌ESSE・LDK・クロワッサン掲載 講談社with classコラムニスト

    あなたへのおすすめ