微信公众平台提供的接口很简单,先看看消息交互流程

2023-12-07    分类: 网站建设

微信公众平台提供的界面很简单,我们来看看消息交互过程:

通俗的讲,用户使用微信发送消息->微信给开发者发送数据->开发者处理消息并返回数据给微信->微信将返回的数据发送给用户,其间数据交互是通过 XML 完成的。就这么简单。

下面写一个例子来开发一个微信智能聊天机器人:

1.注册微信公众平台账号

微信公众平台:

注意:目前一张身份证只能注册两个账号。账号名与V认证相关。请谨慎注册。

2.申请服务器/虚拟主机

没有服务器/虚拟主机的童鞋可以使用bAE和SAE,不多介绍。

3.开启开发者模式

微信公众平台有两种模式,一种是编辑模式(傻瓜模式),简单但功能单一。另一种是开发者模式,可以通过开发实现复杂的功能。这两种模式是相互排斥的。显然,登录微信公众平台,通过“高级功能”菜单开启开发者模式。

4.填写接口配置信息

也是在“ ”菜单中配置的,需要配置两个参数:

URL:开发者应用访问地址,目前仅支持80端口,以“”为例。

:随意填写,用于生成签名,以“”为例。

填写完成后,将以下代码另存为.php并上传到目录,最后点击“提交”完成验证。


valid();
class wechat {
  public function valid() {
    $echoStr = $_GET["echostr"];
    if($this->checkSignature()){
      echo $echoStr;
      exit;
    }
  }
  private function checkSignature() {
    $signature = $_GET["signature"];
    $timestamp = $_GET["timestamp"];
    $nonce = $_GET["nonce"];
    $token = TOKEN;
    $tmpArr = array($token, $timestamp, $nonce);
    sort($tmpArr);
    $tmpStr = implode( $tmpArr );
    $tmpStr = sha1( $tmpStr );
    if( $tmpStr == $signature ) {
      return true;
    } else {
      return false;
    }
  }
}
?>


这个东西就是微信公众平台验证网址是否被正确访问。研究代码没有实质性意义。确认无误后,即可删除该文件。它不会详细解释。对童鞋感兴趣的可以查看官方文档。

微信公众平台ApI文档:

5.微信公众平台功能开发

好的,如上所述,微信公众平台和开发者之间的数据交互是通过XML来完成的。既然用了XML微信公众平台开发 php,当然要遵循规范,所以在着手开发规范之前,先看看官方接口文档提供的XML,以短信为例:

当用户向微信公众号发送消息时,微信服务器会pOST一些数据给开发者:

开发者处理消息后需要将数据返回给微信服务器:

微信公众平台除了短信之外,还支持用户发送图片信息、地理位置信息、链接信息、事件推送。开发者也可以在微信公众平台回复音乐消息和图文消息。各种消息的XML规范也可以参考官方文档。

来看一个官方的pHp例子,我做了一些简化:

responseMsg();
class wechat {
 public function responseMsg() {
  //---------- 接 收 数 据 ---------- //
  $postStr = $GLObALS["HTTp_RAW_pOST_DATA"]; //获取pOST数据
  //用SimpleXML解析pOST过来的XML数据
  $postObj = simplexml_load_string($postStr,'SimpleXMLElement',LIbXML_NOCDATA);
  $fromUsername = $postObj->FromUserName; //获取发送方帐号(OpenID)
  $toUsername = $postObj->ToUserName; //获取接收方账号
  $keyword = trim($postObj->Content); //获取消息内容
  $time = time(); //获取当前时间戳
  //---------- 返 回 数 据 ---------- //
  //返回消息模板
  $textTpl = "%s0";
  $msgType = "text"; //消息类型
  include('simsimi.php');
  $contentStr = simsimi($keyword); //返回消息内容
  //格式化消息模板
  $resultStr = sprintf($textTpl,$fromUsername,$toUsername,$time,$msgType,$contentStr);
  echo $resultStr; //输出结果
 }
}
?>

将代码保存为 .php 并上传到目录。如果刚才没有删除文件,会被覆盖。

现在用户通过微信公众平台发送任何消息时,公众号都会返回一条内容为“”的消息。

接下来要做的是根据用户的消息动态返回结果~

(小黄鸡)目前是一个热门聊天机器人。我使用 CURL 开发了一个免费的(小黄鸡)界面。输入关键字将返回文本响应。这部分不是本文的重点,不再赘述。 ,直接上传代码(2014.07.28更新):

将以上两段代码整合在一起微信公众平台开发 php,就大功告成了。需要说明的是,微信服务器如果在5秒内没有收到响应,就会断开连接,可能通过这个接口超时,bAE和SAE已经被阻塞了。对于爬取请求,建议使用官方付费ApI,速度更快~

希望这篇文章对大家开发基于php的微信公众平台有帮助。

本文名称:微信公众平台提供的接口很简单,先看看消息交互流程
转载来源:/news27/299777.html

成都网站建设公司_创新互联,为您提供用户体验电子商务静态网站网站排名网站收录小程序开发

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

营销型网站建设