微信开发流程
1.微信对接自动回复
登陆微信公众平台 (https://mp.weixin.qq.com)
因为自带配置功能有限所以不建议用
我们开发采用开发者配置
开发->开发者工具->公众平台测试账号->接入指南(按照指南步骤操作即可);
(1)填写服务器信息
按要求填写即可
(2)验证服务器有效性
开发者提交信息后,微信服务器将发送GET请求到服务器地址URL上,GET请求携带四个参数
Signature | 微信加密签名 |
timestamp | 时间戳 |
nonce | 随机数 |
echostr | 随机字符串 |
加密/校验流程
a.将token timestamp noce 三个参数进行字典序排序
b.将三个参数字符串拼成一个字符串进行sha1加密
c.开发者获得加密后的字符串可与signature对比,表示该请求来源于微信。
接口信息配置->消息接口使用指南->开始开发->接入指南->将验证服务器有效性的文档下载下来(将文档上传到服务器进行验证);
(3)消息自动回复
修改接口配置信息(填写URL和token)
Token要和接口文档中的token参数一致
调用消息自动回复接口即可实
(4)获取token
参看接口调用请求说明根据链接地址即可获得
https//api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPCECRT
需要参数APPID APPSECRET
返回一个地址,访问地址即可获得token和过期时间
(5) 创建菜单
自定义菜单->自定义菜单创建接口
http请求方式post请求(使用https协议)
https//api.weixin.qq.com/cgi-bin/menu/create?assess_token=ACCESS_TOKEN
POST请求
查看示例文档调用接口即可实现
文件素材的上传
调用接口
https//api.weixin.qq.com/cgi-bin/media/upload?assess_token=ACCESS_TOKEN&type=TYPE
同样是使用POST请求
以上就是一些接口的简单调用
接下来我们去看看网页授权用户基本信息
首先填写授权回调页面的域名(测试号可以是ip或域名,正式公众号只能是域名)
第一步:用户同意授权获取code
调用的接口地址
$redirect_uri 用户授权后重定向的连接地址(user.php)
Scope有俩个参数snsapi_base(不弹出授权呢页面直接跳转只能获取用户openid)snsapi_userinfo(弹出授权页面可获取到用户的详细信息)
然后再user.php页面用$_GET[‘code’];取出code
接着调用接口
https://open.weixin.qq.com/connect/oauth2/access_token?appid=APPID&secret=secret&code=CODE&grant_type=authorization_code
然后用file_get_contents();请求这个连接正确会返回json数据
其中又有一个access_token;还有下一步骤中要用到openid
然后再用get方式请求下面的链接
https://api.weixin.qq.com/sns/userinfo?access_toke=ACCESS_TOKE&openid=OPENID&lang=zh_CN;
access_toke上一步中获取到的access_toke
Openid上一步中获取到的openid
这样我们的授权就完成了用户信息也取到了