LINE userIdの取得方法
1. LINE DevelopersコンソールでMessaging APIチャネルを作成
-
LINE Developersコンソールにアクセスする。
- LINE Developers にアクセスし、LINEアカウントでログインする。
-
プロバイダーを選択する。
- 既存のプロバイダーを選択するか、まだ作成していない場合は「新規プロバイダー作成」をクリックして作成する。
-
Messaging APIチャネルを作成する。
- プロバイダーを選択後、「新規チャネル作成」をクリックする。
- チャネルタイプで「Messaging API」を選択し、以下の情報を入力する。
- アプリタイプ: 自身のサービスに合わせて選択(通常は「Web app」など)
- チャネル名: 任意のチャネル名(例: My Pipedream Bot)
- チャネル説明: チャネルの説明
- プラン: Free
- プライバシーポリシーURL: サービスのプライバシーポリシーURL(任意)
- 利用規約URL: サービスの利用規約URL(任意)
- その他の項目も必要に応じて入力する。
-
作成内容を確認し、「作成」をクリックする。
- チャネルが作成されると、「Messaging API設定」タブが表示される。
2. PipedreamでWebhook URLを生成
-
Pipedreamにアクセスし、アカウントを作成またはログインする。
- Pipedream にアクセスする。
-
新しいワークフローを作成する。
- ダッシュボードで「+ New」ボタンをクリックし、「Workflow」を選択する。
- ワークフローの名前を入力し(例: LineBotWebhook)、任意のトリガーを選択する。ここでは、LINEからのWebhookリクエストを受信するために「HTTP / Webhook」トリガーを選択する。
-
「HTTP / Webhook」トリガーを設定する。
- トリガーのステップが表示されたら、「Create a new HTTP endpoint」を選択する。
- Pipedreamが自動的にWebhook URLを生成する。このURLは後でLINE Developersコンソールに設定する。
-
生成されたWebhook URLをコピーする。
- HTTPエンドポイントのURLが表示されるので、クリップボードにコピーする。
3. LINE DevelopersコンソールにPipedreamのWebhook URLを設定
- LINE Developersコンソールに戻り、作成したMessaging APIチャネルの「Messaging API設定」タブを開く。
- 「Webhook設定」セクションを探す。
- 「Webhook URL」の入力欄に、PipedreamでコピーしたWebhook URLを貼り付ける。
- 「Webhookの利用」を「利用する」に切り替える。
- 「更新」ボタンをクリックして、Webhook URLを保存する。
-
「Webhookの検証」ボタンをクリックする。
- Pipedreamのエンドポイントに検証リクエストが送信される。Pipedreamのワークフローが正しく設定されていれば、「Success」と表示される。Pipedreamのワークフローのトリガー設定で「Respond to HTTP requests immediately」が有効になっていることを確認する。
4. PipedreamでLINEからのイベントデータを確認
-
LINE Botを友達に追加し、何かメッセージを送信してみる。(テキストメッセージ、スタンプなど)
- Messaging APIチャネルの「基本設定」タブにある「LINE公式アカウントのQRコード」をスキャンするか、「友だち追加ボタン」をWebサイトなどに設置して、LINE Botを友達に追加する。
-
Pipedreamのワークフローの実行履歴を確認する。
- Pipedreamのワークフロー画面に戻り、「Event Log」タブを開くと、LINEから送信されたイベントデータが記録されているはずだ。
-
イベントデータから
userId
を抽出する。- 受信したイベントデータの
body
の中にあるevents
配列の各イベントオブジェクト内のsource
オブジェクトにuserId
が含まれている。
- 受信したイベントデータの
[
{
"type": "message",
"message": {
"type": "text",
"id": "...",
"text": "こんにちは"
},
"timestamp": 16xxxxxxxxxxx,
"source": {
"type": "user",
"userId": "Uxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" // これがuserId
},
"replyToken": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"mode": "active"
}
]
5. まとめ
いかがでしょうか、以上がLINEのuserIdの取得方法です。
結構簡単に取得できて助かりました。