n8nでLINEに通知を送るワークフローを作る際、LINEのユーザーIDが必要になることがあります。
たとえば、特定のユーザーにだけLINE通知を送りたい場合や、ユーザーごとのアクション履歴を管理したい場合などに、このユーザーIDが必要になります。
※ユーザーIDは、友達追加時に使うLINE IDとは別のものです
LINEアプリ上ではユーザーIDを直接確認できません。
けれど、n8nのWebhookを使えば簡単に取得できます(ワークフローは以下)。

Webhookを使ったLINEのユーザーIDを取得するワークフロー

この記事では、n8nを使ってLINEのユーザーIDを取得する方法をわかりやすく解説します。
とてもシンプルなワークフローなので、数分で完了するはずです。

LINEのユーザーIDを調べたい方は、ぜひ参考にしてください!

STEP⓪ 事前準備

LINEのユーザーIDをn8nで取得するには、以下の3つを事前に用意しておく必要があります。

  1. ユーザーIDを取得したいLINEアカウント
  2. LINE公式アカウント
  3. 外部からアクセス可能なn8n

LINE公式アカウントはLINE Messaging APIの設定が必要

LINEのユーザーIDを取得するには
「ユーザーIDを取得したいLINEアカウント」
から
「LINE公式アカウント」
へアクション(友達追加・メッセージ送信など)が発生することが条件です。
このやりとりがあることで、LINE公式アカウント側でユーザーIDを受け取ることができます。

よって、LINE公式アカウントが必要となります。
LINE公式アカウントはこちらから無料でつくれます。
「3分でかんたん作成!」とありますが、私も作ってみましたが本当に簡単に作れました!

LINE公式アカウントの作り方

また、このLINE公式アカウントには「LINE Messaging API」の設定が完了している必要があります。
設定方法については、以下のサイトがとてもわかりやすいので、参考にしてください。
SANANEBLOG:Googleフォームの回答をLINEで受け取る方法!【LINE Messaging API対応】

「外部からアクセス可能なn8n」とは?

次は「外部からアクセス可能なn8n」について補足します。
ここでいう「外部からアクセス可能なn8n」とは、以下のような環境を指します。

  • クラウド版のn8n
  • サーバー上でセルフホストしているn8n

一方で、ローカルPCなどでセルフホストしているn8nは、基本的に外部からアクセスできません。
ただし、ngrokなどのツールを使えば、一時的に外部公開することも可能です。
ローカル環境で作業している場合は、ngrokを利用してください。

STEP① Webhookノードを作成

準備が整ったら、n8nでワークフローを作りましょう!

n8nで新しいワークフローを開いてください。
開いたら、Webhookノードを追加します。
「Add first step」をクリックし、Webhookノードを追加してください。

「Add first step」をクリックし、Webhookノードを追加

Webhookノードは以下の3点を設定します。

  • HTTP Method:POST
  • Path:line-webhook(任意の名前でOK)
  • Respond:Immediately
Webhookノードの設定

設定自体はこれで完了ですが、後に備え、やって欲しいことがあります。
Webhookノードの最上部の「Webhook URLs」という箇所に表示されてる「Test URL」のURLをコピーしてください。

Webhook URLsの下にある「Test URL」に表示されるURLをコピー

コピーしたらSaveし、次の設定に進みましょう!

STEP② LINEのWebhook設定を変更

次はLINE側の設定です。
LINE Developersコンソールにアクセスしてください。
アクセスしたらLINE公式アカウントのチャネルをクリック。

LINE公式アカウントのチャネル

次は以下のように進めてください。

  1. 「Messaging API設定」をクリック
  2. Webhook設定の「編集」をクリック
「Messaging API設定」とWebhook設定の「編集」をクリック

Webhook設定の「編集」をクリックしたら、WebhookノードでコピーしたURLをペーストしてください。
貼ったら「更新」をクリック。

WebhookノードでコピーしたURLをペースト

次は、Webhookの利用を「ON」にしてください。
これでLINE側の設定は完了です!

Webhookの利用を「ON」

STEP③ Edit Fieldsノードを追加・設定する

最後にEdit Fieldsノードを追加します。

このノードはLINEのユーザーIDを取得するために必須ではありません。
じっさい、STEP②までの作業でユーザーIDは取得できます。
けれど、STEP③としてEdit Fieldsノードを加えることで、ユーザーIDを見やすく・扱いやすく整形することができます。

たとえば、複数のユーザーIDを扱う場合や、後からIDをコピペ・管理したい場面では、このステップがあると格段に作業しやすくなります。
そのため、今後の管理や拡張性を考えるとEdit Fieldsノードの追加をおすすめします。

先ほど追加したWebhookにEdit Fieldsノードを追加してください。
「Edit Fields」と検索すると「Edit Fields(Set)」と表示されるはずです。
戸惑うかもしれませんが、これがEdit Fieldsノードです。

Edit Fieldsノードを追加したら、Fields to Setの下にある「Add Field」をクリックしてください。

Fields to Setの下にある「Add Field」をクリック

クリックしたら、以下のように入力します。

  • nameの部分:lineUserId
  • valueの部分:{{$json[“body”][“events”][0][“source”][“userId”]}}

valueの部分の式は、LINEから送られてきたWebhookデータの中から「ユーザーID」だけを取り出しています。
n8nでは{{$json[“…”]}}と書くことで、JSON形式のデータから特定の値を取り出せます。
下の画像も参考にして設定してください。

Fields to Setの下でnameとvalueを設定

設定が完了したら保存し、ワークフローをActiveにしてください。
n8nの設定自体はこれで完了です。

STEP④ n8nでLINEのユーザーIDを取得する

n8nの設定が終わったら「Execute workflow」をクリックし、ワークフローを起動します。

「Execute workflow」をクリックし、ワークフローを起動

起動したら、LINEのユーザーIDを取得したいアカウントから、LINE公式アカウントにチャットや友達登録をしてください。
※起動してないタイミングでアクションがあってもn8nは反応しません
ワークフロー実行中にこのようなアクションをすることで、Webhookノードがデータを受け取り、Edit Fieldsが「OUTPUT」にLINEのユーザーIDを抽出してくれます。
以下の画像のような感じですね。

n8nでLINEのユーザーIDの取得完了

LINEのユーザーIDは先頭が「U」で始まります。
IDの取得が完了したら、LINE通知の自動化等に役立ててください。

n8nのWebhookを使ってLINEのユーザーIDを取得する方法の解説は以上となります。