Php Facebook Messenger机器人Webhook问题
我正在尝试让FB Messenger机器人API正常工作。我目前正在尝试订阅webhook。我目前有以下形式的脚本:Php Facebook Messenger机器人Webhook问题,php,facebook,facebook-sdk-4.0,facebook-messenger,chatbot,Php,Facebook,Facebook Sdk 4.0,Facebook Messenger,Chatbot,我正在尝试让FB Messenger机器人API正常工作。我目前正在尝试订阅webhook。我目前有以下形式的脚本: #!/usr/bin/php <?php $challenge = $_REQUEST['hub_challenge']; echo $challenge; # HERE! $verify_token = $_REQUEST['hub_verify_token']; if ($verify_token === 'token') { echo $challenge;
#!/usr/bin/php
<?php
$challenge = $_REQUEST['hub_challenge'];
echo $challenge; # HERE!
$verify_token = $_REQUEST['hub_verify_token'];
if ($verify_token === 'token') {
echo $challenge;
}
?>
也就是说,我的脚本正在发送一个空字符串。但是,如果我将上面标记为“HERE!”的行更改为“echo'cat'”,则错误消息与预期的“received='cat'”不同。因此,我的脚本正在执行,并试图将一些内容发送回FB,但由于某些原因,$challenge变量为空。为什么会这样
谢谢 您的响应中可能有额外的字符串,因为您在打印挑战后没有退出。在浏览器中尝试您的脚本,并检查html以查看是否有其他内容
if($_GET['hub_verify_token'] === "validation_token"){
echo($_GET["hub_challenge"]);
} else {
echo("error");
}
使用以下代码,因为您需要将验证代码与工作webhook调用分开。另外,请验证令牌不是您从Facebook创建的,而是您自己的关键字
/* validate verify token needed for setting up web hook */
if (isset($_GET['hub_verify_token'])) {
if ($_GET['hub_verify_token'] === 'YOUR_SECRET_TOKEN') {
echo $_GET['hub_challenge'];
return;
} else {
echo 'Invalid Verify Token';
return;
}
}
因此,在本例中,验证令牌是您的\u SECRET\u令牌,现在当您设置web钩子时,请在验证令牌中键入您的\u SECRET\u令牌
我最近写了一封信 您的响应中可能有额外的字符串,因为您在打印挑战后没有退出。在浏览器中尝试您的脚本,并检查html以查看是否有其他内容 使用以下代码,因为您需要将验证代码与工作webhook调用分开。另外,请验证令牌不是您从Facebook创建的,而是您自己的关键字
/* validate verify token needed for setting up web hook */
if (isset($_GET['hub_verify_token'])) {
if ($_GET['hub_verify_token'] === 'YOUR_SECRET_TOKEN') {
echo $_GET['hub_challenge'];
return;
} else {
echo 'Invalid Verify Token';
return;
}
}
因此,在本例中,验证令牌是您的\u SECRET\u令牌,现在当您设置web钩子时,请在验证令牌中键入您的\u SECRET\u令牌
我最近写了一封信 设置webhook时,是否将“验证令牌”设置为令牌?如果是,请尝试在此处取出#!是的,我在这里加了#!在事实之后排队,看看$challenge是否返回了任何内容。现在我的代码中没有。在设置webhook时,是否将“验证令牌”设置为令牌?如果是,请尝试在此处取出#!是的,我在这里加了#!在事实之后排队,看看$challenge是否返回了任何内容。实际上,我的代码中现在没有。您好,Sritam,我尝试了这个方法,返回的消息是“error”,因为$\u GET['hub\u verify\u token']似乎是空的。如何检查FB正在发送我的回调的GET请求的内容?您好,Sritam,我尝试了此操作,返回的消息是“error”,因为$\u GET['hub\u verify\u token']似乎为空。如何检查FB发送回叫的GET请求的内容?