Facebook Messenger 聊天机器人响应问题
Facebook messenger chatbot response issue
目前我正在开发一个简单的 facebook 信使聊天机器人。我正在使用 localhost url 通过 ngrok 建立隧道。我还创建了一个 facebook 应用程序和一个页面,机器人应该 运行。我还为它创建了一个 webhook。一切都顺利完成,没有任何问题。但问题是我无法让机器人回复工作。我正在收到用户的消息,但无法让机器人回复。所以用户没有得到任何回复。虽然在 ngrok 网络界面中我可以看到我希望机器人回复的字符串在那里,但不知何故它不会作为回复发送给用户。这是它的代码。谁能指出错误?这是 ngrok inspect
这是被调用的 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);}?>
我终于让它工作了。这是它的代码。
<?php if (isset($_GET['hub_verify_token'])) {
if ($_GET['hub_verify_token'] === 'new_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=EAAQlAQ9iGz8BAI5woul1IjMJFVcLW21ZBoZBbeBNaF80wvaPzdZBuDfEJ8NK7PPozUiVNfEjfhZAoWRJAqYHc7yiTA4J1wFOHZCs6DJYcMoPtEBuz6Icw22gNZCSjunjBcUMssXXnkmPEde4J5nU2AarXTUVxsujYPRS7ew97tCiYPDUY4tJSh";
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/x-www-form-urlencoded'));
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($jsonData));
curl_exec($ch);
curl_close($ch);}?>
目前我正在开发一个简单的 facebook 信使聊天机器人。我正在使用 localhost url 通过 ngrok 建立隧道。我还创建了一个 facebook 应用程序和一个页面,机器人应该 运行。我还为它创建了一个 webhook。一切都顺利完成,没有任何问题。但问题是我无法让机器人回复工作。我正在收到用户的消息,但无法让机器人回复。所以用户没有得到任何回复。虽然在 ngrok 网络界面中我可以看到我希望机器人回复的字符串在那里,但不知何故它不会作为回复发送给用户。这是它的代码。谁能指出错误?这是 ngrok inspect
这是被调用的 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);}?>
我终于让它工作了。这是它的代码。
<?php if (isset($_GET['hub_verify_token'])) {
if ($_GET['hub_verify_token'] === 'new_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=EAAQlAQ9iGz8BAI5woul1IjMJFVcLW21ZBoZBbeBNaF80wvaPzdZBuDfEJ8NK7PPozUiVNfEjfhZAoWRJAqYHc7yiTA4J1wFOHZCs6DJYcMoPtEBuz6Icw22gNZCSjunjBcUMssXXnkmPEde4J5nU2AarXTUVxsujYPRS7ew97tCiYPDUY4tJSh";
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/x-www-form-urlencoded'));
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($jsonData));
curl_exec($ch);
curl_close($ch);}?>