公众号开发


回顾

1. 实现Day02练习:

1.1 截图:

image.png 

1.2 需求:

a. 用户: 发送图片

b. 公众号: 返回文本

 

1.3 实现:  index.php; 关键代码截图如下:

a. responseMsg方法

image.png 

 

b. 声明/定义三个新方法: receiveText, receiveImagetransmitText

 

1.4 验证:

a. 上传/覆盖index.php代码

b. 手机端: 验证三种消息类型: 文本/图片/其他任意类型(例如: 地理位置), 查看返回结果是否正确

 

 

 

 

 

公众号开发

需求三/需求分析

1. 需求截图:

1.1 用户: 输入关键词图文, 文本消息类型

1.2 公众号: 返回一条图文消息(一张图片, 标题, 描述文本, 点击跳转h5页面)

image.png 

 

2. 需求分析:

2.1 如何获取用户输入文本关键词?

image.png 

 

2.2 如何拼接/返回图文消息的XML字符串?

a. 官方文档:

https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140543

 

b. 提示思路:

1) XML拆分成三块

2) item部分: 通过二维数组循环拼接; 数组元素个数不能超过8(限制条数)

3) 三个部分进行整合, 返回

image.png 

 

 

 

 

 

 

需求四/需求分析

1. 需求截图:

1.1 用户关注公众号(扫一扫 / 搜一搜)时候

1.2 公众号返回和用户相关文本消息 (五行:  昵称 + 性别 + 地区 + 语言 + 关注日期)

image.png 

 

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 判断两个标签内容需要同时满足:

image.png 

 

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) : APPIDAPPSECRET是微信公众号(个人类型订阅号) 标识id和秘钥字符串; 当获取用户信息(调用另外高级接口), 个人类型订阅号不能调用(没有权限); 解决方案: 使用测试公众号页面的APPIDAPPSECRET; 其中接口配置和之前公众号配置一致

image.png è image.png è image.png è image.png

 

b. 开发者服务器向微信服务器发送GET请求: CURL函数库(参考后面附录章节)

 

c. 接收返回JSON, 解析JSON

1) $jsonArr = json_decode($jsonStr, true);

2) $jsonArr[access_token];

image.png 

 

4.4 实现获取access_token逻辑:  

a. 创建accessToken.php文件

b. 添加相应代码逻辑

 

4.5 验证结果:

a. 上传accesToken.php文件

b. 鼠标右键访问该文件, 目的执行该文件内代码

       image.png

c. 查看浏览器显示结果, 下面结果显示正确

image.png 

 

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(读取下面字段值)

image.png 

image.png 

 

d. 拼接/返回五行文本字符串: 调用$this->transmitText方法

image.png 

 

6. 需求四的完整流程图

image.png 

 

7. 验证需求四:

7.1 扫描测试号的二维码图片:

image.png 

附录

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 官方样例代码:

image.png 


最后编辑于:2020/01/04作者: 牛逼PHP

发表评论