微信公众平台开发(14)--标签管理与用户标签管理
点此查看 微信公众号/微信网页/微信支付/企业微信/小程序开发合集及源代码下载
本文目录
- 1. 公众号标签的概念
- 2. 相关接口
- 3. 代码编写
- 4. 测试
- 4.1 获取标签
- 4.2 获取用户列表
- 4.3 为用户添加标签
- 4.4 查询标签
- 5. 小结
1. 公众号标签的概念
用户关注我们的公众号后,我们可以给该用户赋予一个或者多个标签,便于区分用户群体。
这样的好处是,我们在群发消息的时候,指定发送用户的标签,这样消息就能群发给指定群体了。
2. 相关接口
我们封装了以下接口,可以实现标签的创建、获取、更新。
同时也封装了跟用户相关的接口,可以为用户添加、移除标签,或者查询用户已有的标签信息。
3. 代码编写
通过控制器开发API接口即可,相关功能均可直接调用WxMpService封装的方法实现。
/*** 标签控制器(标签管理、用户标签管理)*/
@Api(tags = "标签管理API")
@RestController
public class TagController {@Autowiredprivate WxMpService wxMpService;@ApiOperation(value = "获取标签")@PostMapping("/tagGet")public List<WxUserTag> tagGet() throws WxErrorException {List<WxUserTag> res = wxMpService.getUserTagService().tagGet();return res;}@ApiOperation(value = "创建标签")@PostMapping("/tagCreate")public WxUserTag tagCreate(@RequestParam("tagName") String tagName) throws WxErrorException {WxUserTag res = wxMpService.getUserTagService().tagCreate(tagName);return res;}@ApiOperation(value = "更新标签")@PostMapping("/tagUpdate")public boolean tagUpdate(@RequestParam("tagId") Long tagId, @RequestParam("tagName") String tagName) throws WxErrorException {Boolean res = wxMpService.getUserTagService().tagUpdate(tagId, tagName);return res;}@ApiOperation(value = "查询用户标签列表")@PostMapping("/userTagList")public List<Long> userTagList(@RequestParam("openid") String openid) throws WxErrorException {List<Long> tags = wxMpService.getUserTagService().userTagList(openid);return tags;}@ApiOperation(value = "批量为用户添加标签")@PostMapping("/batchTagging")public boolean batchTagging(@RequestParam("openids") String[] openids, @RequestParam("tagid") Long tagid) throws WxErrorException {return wxMpService.getUserTagService().batchTagging(tagid, openids);}@ApiOperation(value = "批量给用户移除标签")@PostMapping("/batchUntagging")public boolean batchUntagging(@RequestParam("openids") String[] openids, @RequestParam("tagid") Long tagid) throws WxErrorException {return wxMpService.getUserTagService().batchUntagging(tagid, openids);}
}
4. 测试
4.1 获取标签
首先我们调用/tagGet
获取下标签信息,返回如下,说明我们的公众号有两个标签了,每个标签相关的人数也显示出来。
[{"id": 2,"name": "星标组","count": 1},{"id": 100,"name": "杀马特","count": 0}
]
4.2 获取用户列表
然后我们通过/userList
获取用户列表,以便得到用户的openid,结果如下:
{"total": 1,"count": 1,"openids": ["oINiq6UqTiKqfXN3H6RmeKvvRnmw"],"nextOpenid": "oINiq6UqTiKqfXN3H6RmeKvvRnmw"
}
4.3 为用户添加标签
再然后,我们为该用户添加杀马特
这个标签,对应id为100,所以调用/batchTagging
为该用户添加标签,如下图我们输入参数:
执行后返回结果如下,返回true说明我们的接口调用成功了。
4.4 查询标签
接下来我们查询下该用户已有的标签,调用/userTagList
,返回值如下,可见用户已经成功跟id=100的标签关联上了。
[2,100
]
5. 小结
本篇介绍了如何管理标签,同时介绍了如何管理用户的标签。
微信公众平台开发(14)--标签管理与用户标签管理相关推荐
- Senparc.Weixin.MP SDK 微信公众平台开发教程(十六):AccessToken自动管理机制
在<Senparc.Weixin.MP SDK 微信公众平台开发教程(八):通用接口说明>中,我介绍了获取AccessToken(通用接口)的方法. 在实际的开发过程中,所有的高级接口都需 ...
- 微信公众平台开发-消息管理-发送模板消息
一.模板说明 模板消息是在特定服务场景中向粉丝发送的消息,例如:信用卡刷卡通知,商品购买成功通知.不同的模板有不同的风格,某些字段可以由你来填充自己的内容(同时设定颜色),从而形成自己的消息.微信公众 ...
- Senparc.Weixin.MP SDK 微信公众平台开发教程(二十二):如何安装 Nuget(dll) 后使用项目源代码调试...
最近碰到开发者问:我使用 nuget 安装了 Senparc.Weixin SDK,但是有一些已经封装好的过程想要调试,我又不想直接附加源代码项目,这样就没有办法同步更新了,我应该怎么办? 这其实是一 ...
- 微信公众平台开发:从零基础到ThinkPHP5高性能框架实践 Epub +Azw3 +Mobi
image 下载地址...... 1.网站地址或点击阅读原文 https://51dr.cn/book/detail/28320 2.回复关键字 28320直接获取下载链接,公众号二维码请见文章末尾哦 ...
- 微信公众平台开发 mysql_微信公众平台开发数据库操作
一.简介 前面讲解的功能开发都是简单的调用API 完成的,没有对数据库进行操作.在接下来的高级功能开发中,需要使用到数据库,所以在这一篇中,将对MySQL 数据库的操作做一下简单的介绍,以供读者参考. ...
- 微信公众平台开发(104) 自定义菜单扫一扫、发图片、发地理位置
关键字:微信公众平台 自定义菜单 扫一扫 发图片 发地理位置 作者:方倍工作室 原文:http://www.cnblogs.com/txw1958/p/weixin-menu-new-type.htm ...
- Senparc.Weixin.MP SDK 微信公众平台开发教程(十八):Web代理功能
在Senparc.Weixin.dll v4.5.7版本开始,我们提供了Web代理功能,以方便在受限制的局域网内的应用可以顺利调用接口. 有关的修改都在Senparc.Weixin/Utilities ...
- 第六篇 :微信公众平台开发实战Java版之如何自定义微信公众号菜单
我们来了解一下 自定义菜单创建接口: http请求方式:POST(请使用https协议) https://api.weixin.qq.com/cgi-bin/menu/create?access_to ...
- Senparc.Weixin.MP SDK 微信公众平台开发教程(九):自定义菜单接口说明
Senparc.Weixin.MP SDK 微信公众平台开发教程(九):自定义菜单接口说明 原文:Senparc.Weixin.MP SDK 微信公众平台开发教程(九):自定义菜单接口说明 上一篇&l ...
- 微信公众平台开发(110) 微信连Wi-Fi
微信连Wi-Fi是为商家的线下场所提供一套完整和便捷的微信连Wi-Fi的方案.商家接入微信连Wi-Fi后,顾客无需输入繁琐的Wi-Fi密码,通过微信扫二维码等方式即可快速上网.微信连Wi-Fi还帮助商 ...
最新文章
- 自学python要下载什么软件-想自学Python,如何才能坚持下来?
- npm 报错: npm ERR! Please try running this command again as root/Administrator.
- EGLSurfaces 和 OpenGL ES
- c遗传算法的终止条件一般_KDD比赛之遗传算法(举例理解)
- tensorflow4 代价函数、dropout、优化器
- kafka 如何做到1秒发布百万级条消息?
- 背景渐变/字体颜色渐变(可应用于银行卡背景框)
- 虚拟试衣 原理与应用
- arcgis裁剪后发现部分矢量缺失
- 使用 kickstart 半自动化安装CentOS系统 利用PXE实现自动化安装centos系统
- (Redis基础教程之八) 如何在Redis中管理Sets
- 广西交通职业技术学院计算机专业在哪个校区,广西交通职业技术学院宿舍怎么样...
- Aurora落地中国,AWS掀开中国新篇章
- 对大量文本进行指定内容的批量替换
- 概率神经网络(PNN)
- 机器学习 | 一个基于机器学习的简单小实践:波斯顿房价预测分析
- 从 foxmail 到 thunderbird (邮件客户端)
- ant Design vue中a-row 内容不会垂直居中
- 佳博Gprinter S-4331 打印机驱动
- VMware安装ESXi(最新版)
热门文章
- 不玩3a学计算机电脑显卡,还在为电脑配置发愁?用集成显卡都能玩的3A大作!
- 迅雷的FLV文件迷你播放器
- 相机下载_SonyPMCARE, 反向工程索尼PlayMemories相机应用
- Bug 引发的 18 次重大事故
- Appium自动化测试基础--补充:C/S架构和B/S架构说明
- linux下安装sqlite3
- angularjs实现复选框赋值传参提交表单
- 如何使用最新Microsoft Edge打开Flash页面
- 中国航空标准件市场运行动态分析及十四五发展规划研究报告2022年版
- php奖学金系统,java/php/net/pythont奖助学金管理系统设计