1
私は現在、簡単なFacebookのメッセンジャーchatbotを開発中です。私はngrok経由でトンネルにlocalhost URLを使用しています。また、Facebookのアプリと、ボットを実行するページを作成しました。私もそれのためのWebhookを作成しました。すべてが問題なく正常に完了しました。しかし、問題は私がボットからの応答を得ることができないということです。私はユーザーのメッセージを受信していますが、ボットに返信することはできません。したがって、ユーザーは返信として何も取得していません。 ngrokのWebインターフェイスでは、ボットに返信したい文字列があることがわかりますが、どういうわけか返信としてユーザーに送信されません。ここにそのコードがあります。誰かが間違いを指摘できますか?ここでここFacebook messenger chatbot reponse issue
を検査ngrokで呼び出されている私のPHPファイルのコードです。
<?php
if (isset($_GET['hub_verify_token'])) {
if ($_GET['hub_verify_token'] === 'verify_token') {
echo $_GET['hub_challenge'];
return;
} else {
echo 'Invalid Verify Token';
return;
}}$input = json_decode(file_get_contents('php://input'), true);if (isset($input['entry'][0]['messaging'][0]['sender']['id'])) {
$sender = $input['entry'][0]['messaging'][0]['sender']['id'];
$message = $input['entry'][0]['messaging'][0]['message']['text'];
$jsonData = [
'recipient' => [ 'id' => $sender],
'message' => [ 'text' => $message]
];
$url = "https://graph.facebook.com/v2.8/me/messages?access_token=EAAQlAQ9iGz8BABZATCZAN0hd5eyJ2mCFZBR9rDuZARkEmeqh8obC0yZBpiGxFuNbAyi6HHFI2lZCCiILeFNFDuiy2Sb9OHpLfDSIBhCsv7FgglOrzZAqy9yDFlUTZCEHfRfXBYjZCQOj42Vhl4muvyGIqqqsGDP1a0FYcGo9on3QlzgKp5JL8XbZBx";
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($jsonData));
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']);
curl_exec($ch);
curl_close($ch);}?>
私はあなたがcurl_execの出力を取得していることを確認する必要があると思います。この例では、そうではありません。 – WEBjuju
私はあなたの提案をよく理解していません。もっと説明できますか?あなたはcurl_exec()を取るべきだと提案していますか?変数に出力して返しますか? – LearningNew
解決策を見てください.... $ output = curl_exec($ ch);エコー$出力; – WEBjuju