[TOC]
####接口权限
![不支持](https://box.kancloud.cn/13715f31176b79477b1b114f976c52a4_74x74.jpg =30x30) 订阅号,![支持](https://box.kancloud.cn/210679aec05376f88eda9c088a806868_72x72.jpg =30x30) 认证订阅号,![不支持](https://box.kancloud.cn/13715f31176b79477b1b114f976c52a4_74x74.jpg =30x30) 服务号,![支持](https://box.kancloud.cn/210679aec05376f88eda9c088a806868_72x72.jpg =30x30) 认证服务号
#### 标签管理
开发者可以使用用户标签管理的相关接口,实现对公众号的标签进行创建、查询、修改、删除等操作,也可以对用户进行打标签、取消标签等操作。
#####获取所有标签
>[info] fansTagFetchAll()
```
$account_api = WeAccount::create();
$result = $account_api->fansTagFetchAll();
if (is_error($result)) {
message('获取标签失败');
}
/**结果如下
array(
'tags' => array(
0 => array('id' => 1, 'name' => '微擎1', 'count' => '标签下的粉丝数'),
1 => array('id' => 2, 'name' => '微擎2', 'count' => '标签下的粉丝数'),
),
);
**/
//入库或是其它代码
```
#####新建粉丝标签
>[info] fansTagAdd($tagname)
* $tagname 标签名称
```
$account_api = WeAccount::create();
$result = $account_api->fansTagAdd('测试标签');
if (is_error($result)) {
message('添加标签失败');
}
$tagid = $result['tag']['id']; //标签ID
//入库或是其它代码
```
#####编辑标签
>[info] fansTagEdit($tagid, $tagname)
* $tagid 标签id,添加成功后返回的id
* $tagname 标签名称
```
$account_api = WeAccount::create();
$result = $account_api->fansTagEdit('1', '测试标签1');
if (is_error($result)) {
message('修改标签失败');
}
//入库或是其它代码
```
##### 删除标签
>[info] fansTagDelete($tagid)
* $tagid 标签id,添加成功后返回的id
```
$account_api = WeAccount::create();
$result = $account_api->fansTagDelete('1');
if (is_error($result)) {
message('删除标签失败');
}
//入库或是其它代码
```
#### 粉丝标签管理
##### 获取粉丝拥有的标签
>[info] fansTagFetchOwnTags($openid)
* $openid 粉丝opendid
```
$account_api = WeAccount::create();
$fanstag = $account_api->fansTagFetchOwnTags('fromuser');
if (is_error($fanstag)) {
message('获取粉丝标签失败');
}
/** $fanstag 结构如下:
array(
'tagid_list' = array('1', '2', '标签ID3', '标签ID4')
)
**/
//入库或是其它代码
```
##### 设置粉丝标签
>[info] fansTagTagging($openid, $tagids)
此函数会直接覆盖粉丝当前拥有的标签。
* $openid 粉丝opendid
* $tagids 标签id,最多为三个,结构为array(1, 2, 3)
```
$account_api = WeAccount::create();
$result = $account_api->fansTagTagging('fromuser', array(1, 2));
if (is_error($result)) {
message('设置粉丝标签失败');
}
//入库或是其它代码
```
>[warning] 这里需要特别注意的是,批量设置粉丝标签时,每个粉丝最多只能拥有三个标签,如果粉丝拥有一个标签时,要为其设置三个标签,需要先把其拥有的标签先删除掉。
##### 批量设置标签
>[info] fansTagBatchTagging($openid_list, $tagid)
* $openid_list 粉丝opendid列表,结构为array('openid1', 'openid2')
* $tagid 标签id
```
$account_api = WeAccount::create();
$result = $account_api->fansTagBatchTagging(array('fromuser', 'fromuser1'), 1);
if (is_error($result)) {
message('设置粉丝标签失败');
}
//入库或是其它代码
```
##### 批量取消标签
>[info] fansTagBatchUntagging($openid_list, $tagid)
* $openid_list 粉丝opendid列表,结构为array('openid1', 'openid2')
* $tagid 标签id
```
$account_api = WeAccount::create();
$result = $account_api->fansTagBatchUntagging(array('fromuser', 'fromuser1'), 1);
if (is_error($result)) {
message('取消粉丝标签失败');
}
//入库或是其它代码
```
#### 标签与分组的对应关系
由于微信最开始是设置粉丝分组(只支持一个分组),后来改为粉丝标签。标签的数据是兼容分组数据的,大家可以理解为之前的分组是粉丝的一个标签。
微擎也根据相应的变化做了相关函数的调整,具体对应的差别如下:
|旧函数名|新函数名|说明|
| -- | -- | -- |
|addFansGroup|fansTagAdd|新增一个粉比例标签|
|editFansGroupname|fansTagEdit($tagid, $tagname)|编辑标签名称|
|delFansGroup|fansTagDelete($tagid)|删除一个标签|
|fetchFansGroups|fansTagFetchAll|获取全部粉丝标签|
|fetchFansGroupid|fansTagFetchOwnTags($openid)|获取某个粉丝的全部标签|
|updateFansGroupid|fansTagTagging($openid, $tags)|给单个粉丝打标签,$tags参数结构为 array('tag1', 'tag2', 'tag3')|
| |fansTagBatchTagging($openid_list, $tagid)|批量为粉丝打标签|
| |fansTagBatchUntagging($openid_list, $tagid)|批量取消粉丝标签|
- 入门
- 系统安装
- 接入公众平台
- 关键字回复
- 更上一层楼
- 编码规范
- php编码规范
- html&css编码规范
- JavaScript编码规范
- 系统概述
- 结构概述
- 入口脚本
- 微擎MVC
- URL路由&创建
- $_W&全局变量
- 加载器
- 错误处理
- 日志记录
- 模板
- 模板标签
- 数据调用
- 常用变量
- 手机端组件
- 概述及依赖
- 图像上传
- 弹出选项
- 后台组件
- 概述及依赖
- 后台文件上传
- 富文本编辑器
- 系统链接选择器
- 其它常用组件
- 数据库
- 参数绑定
- 数据操作
- 主从配置
- 连接其它数据库
- 缓存
- 配置
- 缓存操作
- Http请求
- 概述及依赖
- GET&POST请求
- 发送邮件
- 会员与积分
- 统一用户中心
- 借用OAuth
- 积分操作
- 资料操作
- 卡券
- 营销卡券
- 会员卡
- 消息响应
- 消息概述
- 消息响应
- 微信API
- 公众号AccessToken
- 共享收货地址(废弃)
- 共享收货地址(新)
- 粉丝标签
- 客服消息
- 模板消息
- 粉丝信息
- 素材
- 群发
- 二维码
- 在线支付
- 概述及依赖
- 发起支付(PHP)
- 发起支付(JS)
- 验证支付
- 模块
- 设计模块
- 目录结构
- module.php
- processor.php
- site.php
- receiver.php
- 模块高级专题
- 自定义分享
- 智能应答
- 微信卡券
- 远程附件
- 权限控制
- 特殊事件触发模块
- 粉丝信息
- 小程序
- 概述
- Uitl类
- 云服务
- 云API
- 系统接口
- 模块云配置
- 云短信
- 云短信错误代码
- 云短信发送函数
- 批量群发短信
- 应用推广
- 悬赏文案
- 折扣码
- 系统消息
- 开发者等级资料认证
- 应用标签
- 模块自动检测订阅支持
- 小程序
- 开发实例
- 参数设置
- 常见问题