facebook messenger之PHP开发
这是一个简单的使用PHP连接facebook messenger的教程
-
首先得有一个facebook开发者账户,没有则去https://developers.facebook.com申请一个。。。
-
添加一个facebook开发应用
3.添加messenger到你的应用
进入刚刚创建的应用,点击产品+
找到messenger,点击设置
然后进入你的应用看到产品下面的messenger,点击messenger的设置
这时候需要创建一个订阅机器人发送消息的主页,点击新建主页,创建一个适合自己的主页
然后选择你的主页,生成访问令牌
接着设置webhook
设置完以后点击验证保存
选择页面订阅webhook事件
这里的nlp设置选择你刚刚创建的主页即可,默认自然语言为英语
现在设置已经成功,后面是编写放在服务器上面的代码部分
<?php // parameters $hubVerifyToken = 'YOUR_SET_TOKEN';//这里是刚刚设置webhook时候你自己填写的令牌 $accessToken = " EAAFkIy0vJgcBAJZCZAenpF9GxevVLnWWA97fP1II1WaLWlJozYgN8k3kuZA1a7kwTw9U4asnxEp7YoBRpZBYGVdEs9MJfxLJ7cNJMbfO8NjsSW1BBpCsGVWeoXbL4qPaQZBBgYSWOymitO6S9k83hEhsajYw3sTKtiOyOE65ItwZDZD ";//这个token是你的主页生成的令牌 // check token at setup if ($_REQUEST['hub_verify_token'] === $hubVerifyToken) { echo $_REQUEST['hub_challenge']; exit; } // handle bot's anwser $input = json_decode(file_get_contents('php://input'), true); $senderId = $input['entry'][0]['messaging'][0]['sender']['id']; $messageText = $input['entry'][0]['messaging'][0]['message']['text']; $response = null; //set Message if($messageText == "hi") { $answer = "Hello";//如果用户在你的主页输入hi,则会自动回复Hello } //send message to facebook bot $response = [ 'recipient' => [ 'id' => $senderId ], 'message' => [ 'text' => $answer ] ]; $ch = curl_init('https://graph.facebook.com/v2.6/me/messages?access_token='.$accessToken); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($response)); curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']); if(!empty($input)){ $result = curl_exec($ch); } curl_close($ch); |
现在既可以测试,在你创建的主页点击发消息,发送hi则会回复hello。。。更多复杂的消息设置可以自己添加插件。。。注意:现在应用没有审核,只能管理员发送消息会回复。。。在messenger设置的下方有需要审核的内容,根据自己的需求提交审核即可!