我只是偶然发现了信使机器人,感觉就像在做自己一样。 我已经正确设置了webhooks,验证了我的webhook脚本,当我向我的机器人发送消息时,我自己也是一个看到请求的临时简单的事情。
<?php
$file = "data.txt";
$current = file_get_contents($file);
$data = $current ."\n". json_encode($_REQUEST);
file_put_contents ( $file , $data );
它有效(捕获所有请求),但是当我输入聊天时,我在我的文件中只得到一个空白[]。这意味着当我尝试与机器人通信时,facebook会联系我的siete,但没有任何请求(数据)?
有人能告诉我我做错了什么吗? 谢谢!
答案 0 :(得分:1)
Facebook在请求正文中使用内容类型application/json
和JSON字符串点击您的webhook。 $ _ REQUEST 无法处理它,因为 $ _ REQUEST 包含HTTP内容类型application/x-www-form-urlencoded
或multipart/form-data
的数据。
在这里,您需要阅读input stream(原始数据)。
<?php
$file = "data.txt";
$current = file_get_contents($file);
$data = $current ."\n". file_get_contents('php://input');
file_put_contents ( $file , $data );