Q&A

オウム返しBOTを作りたいのですがメッセージが返ってきません

PHP + ngrokを使用してローカルでオウム返しのボットを作成しようとしています。

https://qiita.com/kuzira_vimmer/items/ad485a9365c2c23f0465 上記サイトに書かれているオウム返しをそのまま使用し実行、友達登録したユーザーからメッセージを送ってもメッセージが帰ってきません。

Webhookの設定はステータス200で帰ってくるので接続は間違っていないと思います。 メッセージを送った時もプログラム上ではgetReplyToken()、getText()は取得できています。 内容はログに出力して確認しました。

メッセージが取得できているようなので、アクセストークン、チャンネルシークレットは間違っていないはずです。

メッセージが返ってこない理由としては何が考えられるでしょうか。

  • 1
  • 2
  • 5319
  • twitter facebook

返信ありがとうございます。 遅れて申し訳ありません。

アクセストークンが間違っていたようでした。 修正して無事に動作確認することができました。

ありがとうございました。

  • 1

下記のコードを使ってLINE公式アカウントにメッセージを送信した時に $reply_tokenと$reply_textはログ出力で内容が確認できている認識であっていますか?

もしそうであれば、やはり前半部分のアクセストークン、チャンネルシークレット、new LINEBotのあたりが怪しいと思います。

<?php require('vendor/autoload.php'); use LINE\LINEBot\Constant\HTTPHeader; use LINE\LINEBot\HTTPClient\CurlHTTPClient; use LINE\LINEBot; //先ほど取得したチャネルシークレットとチャネルアクセストークンを以下の変数にセット $channel_access_token = 'XXXXXXXXX'; $channel_secret = 'XXXXXXXXX'; $http_client = new CurlHTTPClient($channel_access_token); $bot = new LINEBot($http_client, ['channelSecret' => $channel_secret]); $signature = $_SERVER['HTTP_' . HTTPHeader::LINE_SIGNATURE]; $http_request_body = file_get_contents('php://input'); $events = $bot->parseEventRequest($http_request_body, $signature); $event = $events[0]; $reply_token = $event->getReplyToken(); $reply_text = $event->getText(); $bot->replyText($reply_token, $reply_text);

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