回顾
1. 实现Day02练习:
1.1 截图:
1.2 需求:
a. 用户: 发送图片
b. 公众号: 返回文本
1.3 实现: index.php; 关键代码截图如下:
a. responseMsg方法
b. 声明/定义三个新方法: receiveText, receiveImage和transmitText
1.4 验证:
a. 上传/覆盖index.php代码
b. 手机端: 验证三种消息类型: 文本/图片/其他任意类型(例如: 地理位置), 查看返回结果是否正确
公众号开发
需求三/需求分析
1. 需求截图:
1.1 用户: 输入关键词”图文”, 文本消息类型
1.2 公众号: 返回一条图文消息(一张图片, 标题, 描述文本, 点击跳转h5页面)
2. 需求分析:
2.1 如何获取用户输入文本关键词?
2.2 如何拼接/返回图文消息的XML字符串?
a. 官方文档:
https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140543
b. 提示思路:
1) XML拆分成三块
2) item部分: 通过二维数组循环拼接; 数组元素个数不能超过8个(限制条数)
3) 三个部分进行整合, 返回
需求四/需求分析
1. 需求截图:
1.1 用户关注公众号(扫一扫 / 搜一搜)的时候
1.2 公众号返回和用户相关文本消息 (五行: 昵称 + 性别 + 地区 + 语言 + 关注日期)
2. 需求分析:
2.1 如何获取/判断用户关注时机(事件类型)?
2.2 如何获取access_token访问令牌?
2.3 如何获取关注用户的相关信息: 昵称 + 性别 + 地区 + 语言 + 关注日期?
2.4 如何拼接/返回文本消息? à 需求一实现完了
3. 用户关注时机/判断事件类型?
3.1 官方文档:
https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140454
3.2 判断两个标签内容需要同时满足:
4. 获取access_token访问令牌
4.1 官方文档:
https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140183
4.2 access_token:
a. 是调用所有接口的凭证/前提
b. 特点: 有效时间2小时; 512字符; 最后一次有效(覆盖)
4.3 获取访问令牌步骤分析:
a. 拼接URL地址:
https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET
1) 坑: APPID和APPSECRET是微信公众号(个人类型订阅号) 标识id和秘钥字符串; 当获取用户信息(调用另外高级接口), 个人类型订阅号不能调用(没有权限); 解决方案: 使用测试公众号页面的APPID和APPSECRET; 其中接口配置和之前公众号配置一致
è
è
è
b. 开发者服务器向微信服务器发送GET请求: CURL函数库(参考后面附录章节)
c. 接收返回JSON, 解析JSON
1) $jsonArr = json_decode($jsonStr, true);
2) $jsonArr[‘access_token’];
4.4 实现获取access_token逻辑:
a. 创建accessToken.php文件
b. 添加相应代码逻辑
4.5 验证结果:
a. 上传accesToken.php文件
b. 鼠标右键访问该文件, 目的执行该文件内代码
c. 查看浏览器显示结果, 下面结果显示正确
5. 获取关注用户的相关信息
5.1 官方文档:
https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140839
5.2 获取信息步骤:
a. 拼接url地址
1) lang: 设置发送的语言为简体中文zh_CN
2) openid: 加密用户微信号;
$xmlObj->FromUserName
3) access_token: 访问令牌(参照前面步骤)
https://api.weixin.qq.com/cgi-bin/user/info?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN
b. 开发者服务器向微信服务器发送GET请求: CURL函数(参照accessToken.php文件逻辑)
c. 接收返回JSON, 解析JSON(读取下面字段值)
d. 拼接/返回五行文本字符串: 调用$this->transmitText方法
6. 需求四的完整流程图
7. 验证需求四:
7.1 扫描测试号的二维码图片:
附录
CURL函数库
1. 作用: 使用CURL函数库(PHP)可以模拟HTTP/HTTPS协议的所有方法, 例如: GET, POST, PUT, DELETE…….
2. 如何使用CURL函数发送GET请求/接收返回JSON数据?
2.1 官方: php.net
2.2 基本步骤:
a. curl_init:初始化会话对象
b. curl_setopt:设置选项; 可能调用多次
c. curl_exec: 执行会话(发送请求)
d. curl_close: 关闭会话(释放资源)
2.3 官方样例代码:
发表评论