导言
微信公众号的基本流程
1 验证服务器地址(第一次验证,验证成功以后就不需要验证签名,)
配置的url里面有token。timesta,nonce sha1加密,然后和微信的签名对比返回微信传过来的echostr
2 事件推送,事件接收(第二次就直接找我们业务接收处理流程)
if(签名验证){
if(echostr){// 第一次
}
else {
你封装好的各种API
this-> responseMsg() 消息处理
this - >difine Item() 自定义菜单
。。。
}}
3 接口请求,每次都要带上acess token
公众号类型
服务号 :政府机构、组织和企业,不适用与个人
订阅号 :个人和组织
企业号 :企业
微信认证
认证与不认证的账号,微信平台提供的接口不一样
注册网址
申请微信公众号地址:https://mp.weixin.qq.com/
环境准备
可以使用新浪云免费空间
数据交互流程
微信用户在手机端输入信息,微信服务器接收到用户的请求,然后再传递给第三方服务器,这个第三方服务器就是我们的公众号,第三方服务器接收到之后会进行一个逻辑业务处理,通过响应的形式传送给微信服务器,微信服务器再将数据封装成特定的数据结构,重新响应给微信用户
模式
公众账号模式分类:
- 开发者模式:通过调用微信一些公用接口完成自身业务
- 编辑模式:就是微信公众平台提供微信公众账号管理者一个简单的可视化操作界面,方便简单的微信运营
接口
认证
应用接入 API 接口步骤
第一步是填写服务器的 URL,token
这里所讲的 URL 就是第三方 服务器的 URL
作用是接收微信推送的消息
token 就是开发者与微信公众平台约定的口令,主要是验证第三方服务器身份的合法性。
事件推送
推送消息会发送到微信公众平台填写的URL地址上
事件推送:1.关注与取消关注2.单击公众号下方的自定义菜单时
响应是 回复不同的消息给微信用户
notice
如果php版本较高时,则不要使用$GLOBALS[‘HTTP_RAW_POST_DATA’]
换成file_get_contents(“php://input”)
环境搭建
tp框架
基于TP框架
1.定义项目名称
define(‘APP_NAME’,‘Test’);
2.定义项目路径
define(‘APP_PATH’,‘Test/’);
3.引入tp核心文件
require(’./ThinkPHP/ThinkPHP.php’);
接收事件
simplexml_load_string() 函数转换形式良好的 XML 字符串为 SimpleXMLElement 对象。
sprintf() 函数把百分号(%)符号替换成一个作为参数进行传递的变量。
关注 subscribe
回复消息
常用的消息回复类型
1、回复纯文本
2、回复单图文
3、回复多图文
接口开发access_token(有效期目前为2个小时)
当用户在平台注册微信公众号时,微信公众平台为用户生产了一个APPID/ADDSECRET,这两个值相当于身份证一样,是一个唯一标示。
appid和appcecret产生 access_token,access_token就是一个动态口令,有时间性,在一段时间有效。
access_token具有唯一有效性、全局有效性。
调用接口都会用到access_token口令。
access_token 每天可以调用2000次,所以要把access_token缓存起来。