微信公众平台开发(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 {

@Autowired

private 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. 小结

本篇介绍了如何管理标签,同时介绍了如何管理用户的标签。

相关文章
|
小程序 PHP
微信公众号开发(一)打通服务器与微信之间的通信
说来惭愧PHP做了这么久,好像就没有从头开发过一个微信公众号,这次刚好有机会从头接入开发一个完整的公众号,也不能说完整,但是这些微信的接口我基本上都试一试~看看大概是什么情况。 首先:打通服务器与微信之间的通信。
183 0
|
26天前
|
自然语言处理 搜索推荐 小程序
微信公众号接口:解锁公众号开发的无限可能
微信公众号接口是微信官方提供的API,支持开发者通过编程与公众号交互,实现自动回复、消息管理、用户管理和数据分析等功能。本文深入探讨接口的定义、类型、优势及应用场景,如智能客服、内容分发、电商闭环等,并介绍开发流程和工具,帮助运营者提升用户体验和效率。未来,随着微信生态的发展,公众号接口将带来更多机遇,如小程序融合、AI应用等。
|
10月前
|
开发者
微信公众平台开发基本配置
微信公众平台开发基本配置
231 0
|
10月前
|
Go
【微信公众号】基于golang的公众号开发基本配置
【微信公众号】基于golang的公众号开发基本配置
149 0
|
9月前
|
Java API
java进行微信公众号开发
java进行微信公众号开发
189 0
|
10月前
|
人工智能 Python
【Python + 微信】微信公众号开发避坑指南
【Python + 微信】微信公众号开发避坑指南
175 0
|
10月前
|
Linux 网络安全 开发工具
【超详细!超多图!】【代码管理】Python微信公众号开发(3)- 服务器代码上传Github
【超详细!超多图!】【代码管理】Python微信公众号开发(3)- 服务器代码上传Github
182 0
|
10月前
|
XML 数据格式 Python
【超详细!】Python微信公众号开发(2)
【超详细!】Python微信公众号开发(2)
265 0
|
10月前
|
XML 安全 Java
如何开发微信公众号后台
如何开发微信公众号后台
267 0
|
10月前
|
移动开发 JavaScript
微信公众号H5开发,在微信浏览器打开H5,无法一键下载图片
微信公众号H5开发,在微信浏览器打开H5,无法一键下载图片
415 0

热门文章

最新文章