我正在开发一些通过Facebook Messenger回答的代码,我使用这段代码来处理答案并回答:
if(isset($_REQUEST['hub_verify_token'])) {
if ($_REQUEST['hub_verify_token'] === A::VERIFY_TOKEN) {
echo $_REQUEST['hub_challenge'];
exit;
}
}
$input = json_decode(file_get_contents('php://input'), TRUE);
$sender_id = $input['entry'][0]['messaging'][0]['sender']['id'];
$message_text = $input['entry'][0]['messaging'][0]['message']['text'];
$fb_handler = new FBHandler($sender_id);
/*$to_send = array(
'recipient' => array('id' => $sender_id ),
'message' => array('text' => "Hi" )
);*/
$to_send = $fb_handler->talk($message_text);
$ch = curl_init('https://graph.facebook.com/v2.6/me/messages?access_token='.A::ACCESS_TOKEN);
curl_setopt_array($ch, array(
CURLOPT_POSTFIELDS => json_encode($to_send),
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_HTTPHEADER => array('Content-Type: application/json')
));
$response = curl_exec($ch);
error_log($response['error']);
curl_close($ch);
我不明白为什么评论$to_send
可以正常工作,但未注释,因为A
类中的代码是正确的,它正确地组成了数组。
所以我提出了一个想法,我问你是否正确(因为我在Facebook开发者文档中没有找到任何内容):是否有可能将发送给Messenger的数组必须组成一个说明书?
我知道这听起来很荒谬,但我不知道还有什么想法。
另外我注意到error_log
不起作用:php_errorlog
文件中没有写入任何内容。发生了什么事?