当前位置:   article > 正文

微信公众号自动回复聊天机器人实现(PHP)_php 自动对话

php 自动对话

1、服务器配置

在“微信公众平台”上将“服务器配置”启用,填写“服务器地址”(即关注者输入消息后调用的回调接口,返回回复文本),“令牌”(在接口验证中要用到),

“消息加解密密钥”、加解密方式暂时设为明文模式,先简单入手。

2、配置接口

  1. public function valid()
  2. {
  3. $echoStr = $_GET["echostr"];
  4. if ($echoStr) {
  5. if ($this->checkSignature()) {
  6. echo $echoStr;
  7. exit;
  8. }
  9. }
  10. }

当第一步启用的时候,必须先调用这个方法,收到"echostr"后再验证(checkSignature)是否是我们的微信公众号发来的,如果是则把"echostr"回传回去,这个时候第一步点击启用便会成功,否则启用会失败,这个可以用来测试我们这个接口是否写对了。只要第一步启用成功,那之后便不需要再进行验证了,只需直接拿到传过来的信息再进行分析处理。

其中checkSignature方法如下:

  1. private function checkSignature()
  2. {
  3. $signature = $_GET["signature"];
  4. $timestamp = $_GET["timestamp"];
  5. $nonce = $_GET["nonce"];
  6. $token = "token";
  7. $tmpArr = array($token, $timestamp, $nonce);
  8. sort($tmpArr);
  9. $tmpStr = implode($tmpArr);
  10. $tmpStr = sha1($tmpStr);
  11. if ($tmpStr == $signature) {
  12. return true;
  13. } else {
  14. return false;
  15. }
  16. }

其中$token值便是第一步中设置的token值,记得替换下。

3、处理逻辑

  1. public function responseMsg()
  2. {
  3. $xml_str = file_get_contents('php://input');
  4. if (empty($xml_str)) {
  5. die('');
  6. }
  7. if (!empty($xml_str
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/341505
推荐阅读
相关标签
  

闽ICP备14008679号