Q&A

phpのbotから個人別のLINEにメッセージが送られない

前提・実現したいこと

php 7.4 Laravel 8.79 line-bot-sdk 7.3 アプリタイプ ボット 開発環境:local apache

公式チャンネルを友達登録した個人宛に、phpプログラムから個別にLINEを送信したい。

発生している問題・エラーメッセージ

var_dump結果抜粋 object(LINE\LINEBot\Response)[351] private 'httpStatus' => int 400 private 'body' => string '{"message":"The property, 'to', in the request body is invalid (line: -, column: -)"}' (length=85

該当のソースコード

※以下{$toId}に、個人スマホのプロフィールに表示されるIDを入力したところ上記エラーになります。 $httpClient = new CurlHTTPClient($channelAccessToken); $bot = new LINEBot($httpClient, ['channelSecret' => $channelSecret]); $textMessageBuilder = new TextMessageBuilder("テスト送信内容1行目\n2行目"); $response = $bot->pushMessage($toId, $textMessageBuilder); var_dump($response);

試したこと

{$toId}に、,Line Developersのチャンネル基本設定に表示されるユーザIDを設定したところ 送信は出来ましたが、公式チャンネルを友達登録した複数人には送られず、チャンネルに紐づけた 私(開発者)のLineにしか送られませんでした。 $response = $bot->pushMessage($toId, $textMessageBuilder);

私のイメージとしては、{$toId}に個人スマホのIDを指定すると個別に送られ、Developersの ユーザIDを指定するとチャンネルを友達登録した全てのユーザーに送られるのかな?と思っていましたが そこら辺についても、ご教授頂けると嬉しく思います。

補足情報(FW/ツールのバージョンなど)

  • 0
  • 1
  • 700
  • twitter facebook

個人のスマホIDがよくわかりませんが、ドキュメントを読みましょう! エラーに出ている通りtoに指定するidが間違っています。

友だち登録時に発行されるwebhook: https://developers.line.biz/ja/reference/messaging-api/#follow-event や 友達から送信されたメッセージのwebhook: https://developers.line.biz/ja/reference/messaging-api/#message-event にふくまれる events[0].source.userId をpushMessageに指定します。

  • 0

関連する質問

    関連する質問はありません

本当によろしいですか? question.vm