ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、视频、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
# 粉丝标签 - [接口权限](#_1) - [标签管理](#_2) - [获取所有标签](#_3) - [新建粉丝标签](#_4) - [编辑标签](#_5) - [删除标签](#_6) - [粉丝标签管理](#_7) - [获取粉丝拥有的标签](#_8) - [设置粉丝标签](#_9) - [批量设置标签](#_10) - [批量取消标签](#_11) - [标签与分组的对应关系](#_12) #### 接口权限 ![不支持](https://box.kancloud.cn/13715f31176b79477b1b114f976c52a4_74x74.jpg) 订阅号,![支持](https://box.kancloud.cn/210679aec05376f88eda9c088a806868_72x72.jpg) 认证订阅号,![不支持](https://box.kancloud.cn/13715f31176b79477b1b114f976c52a4_74x74.jpg) 服务号,![支持](https://box.kancloud.cn/210679aec05376f88eda9c088a806868_72x72.jpg) 认证服务号 #### 标签管理 开发者可以使用用户标签管理的相关接口,实现对公众号的标签进行创建、查询、修改、删除等操作,也可以对用户进行打标签、取消标签等操作。 ##### 获取所有标签 > 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' => '标签下的粉丝数'), ), ); **/ //入库或是其它代码 ``` ##### 新建粉丝标签 > fansTagAdd($tagname) - $tagname 标签名称 ``` $account_api = WeAccount::create(); $result = $account_api->fansTagAdd('测试标签'); if (is_error($result)) { message('添加标签失败'); } $tagid = $result['tag']['id']; //标签ID //入库或是其它代码 ``` ##### 编辑标签 > fansTagEdit($tagid, $tagname) - $tagid 标签id,添加成功后返回的id - $tagname 标签名称 ``` $account_api = WeAccount::create(); $result = $account_api->fansTagEdit('1', '测试标签1'); if (is_error($result)) { message('修改标签失败'); } //入库或是其它代码 ``` ##### 删除标签 > fansTagDelete($tagid) - $tagid 标签id,添加成功后返回的id ``` $account_api = WeAccount::create(); $result = $account_api->fansTagDelete('1'); if (is_error($result)) { message('删除标签失败'); } //入库或是其它代码 ``` #### 粉丝标签管理 ##### 获取粉丝拥有的标签 > 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') ) **/ //入库或是其它代码 ``` ##### 设置粉丝标签 > 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('设置粉丝标签失败'); } //入库或是其它代码 ``` > 这里需要特别注意的是,批量设置粉丝标签时,每个粉丝最多只能拥有三个标签,如果粉丝拥有一个标签时,要为其设置三个标签,需要先把其拥有的标签先删除掉。 ##### 批量设置标签 > 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('设置粉丝标签失败'); } //入库或是其它代码 ``` ##### 批量取消标签 > 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('取消粉丝标签失败'); } //入库或是其它代码 ``` #### 标签与分组的对应关系 由于微信最开始是设置粉丝分组(只支持一个分组),后来改为粉丝标签。标签的数据是兼容分组数据的,大家可以理解为之前的分组是粉丝的一个标签。 微擎也根据相应的变化做了相关函数的调整,具体对应的差别如下: 旧函数名新函数名说明addFansGroupfansTagAdd新增一个粉比例标签editFansGroupnamefansTagEdit($tagid, $tagname)编辑标签名称delFansGroupfansTagDelete($tagid)删除一个标签fetchFansGroupsfansTagFetchAll获取全部粉丝标签fetchFansGroupidfansTagFetchOwnTags($openid)获取某个粉丝的全部标签updateFansGroupidfansTagTagging($openid, $tags)给单个粉丝打标签,$tags参数结构为 array('tag1', 'tag2', 'tag3')fansTagBatchTagging($openid\_list, $tagid)批量为粉丝打标签fansTagBatchUntagging($openid\_list, $tagid)批量取消粉丝标签