微信公眾號,仿照企業(yè)號的思路,增加了標(biāo)簽管理的功能,對關(guān)注的粉絲可以設(shè)置標(biāo)簽管理,實(shí)現(xiàn)更加方便的分組管理功能。開發(fā)者可以使用用戶標(biāo)簽管理的相關(guān)接口,實(shí)現(xiàn)對公眾號的標(biāo)簽進(jìn)行創(chuàng)建、查詢、修改、刪除等操作,也可以對用戶進(jìn)行打標(biāo)簽、取消標(biāo)簽等操作。本篇隨筆主要介紹如何利用C#對公眾號這個(gè)較新的特性進(jìn)行封裝,實(shí)現(xiàn)對標(biāo)簽的管理功能。
1、標(biāo)簽功能介紹
1)標(biāo)簽功能替代分組功能,支持多維度定義用戶屬性
運(yùn)營者可登錄公眾平臺后臺,點(diǎn)擊左側(cè)菜單“用戶管理”后管理已關(guān)注用戶,點(diǎn)擊其中一個(gè)用戶右側(cè)的“標(biāo)簽”小角標(biāo)可彈出復(fù)選框快速為該用戶添加標(biāo)簽,且添加標(biāo)簽復(fù)選框內(nèi)已支持直接新建標(biāo)簽。
另外,標(biāo)簽功能接口也已更新,開發(fā)者可調(diào)用接口,實(shí)現(xiàn)對標(biāo)簽和用戶操作。同時(shí),高級群發(fā)接口和個(gè)性化菜單接口等已支持根據(jù)標(biāo)簽實(shí)現(xiàn)操作。
2)優(yōu)化用戶卡片,支持多場景查看用戶頭像大圖與互動(dòng)數(shù)據(jù),增強(qiáng)運(yùn)營者對用戶熟悉度與管理效率
本期新增消息數(shù)、留言數(shù)和贊賞數(shù)等互動(dòng)數(shù)據(jù),且顯示用戶關(guān)注時(shí)間和支持查看用戶頭像大圖,有利于拉近運(yùn)營者與用戶的距離。另外, 支持“贊賞功能”和“留言管理”場景直接管理用戶,提升管理效率。
2、標(biāo)簽的接口封裝
標(biāo)簽的接口分為兩部分:標(biāo)簽管理和用戶管理,一個(gè)公眾號,最多可以創(chuàng)建100個(gè)標(biāo)簽。標(biāo)簽功能目前支持公眾號為用戶打上最多三個(gè)標(biāo)簽。
其中標(biāo)簽管理包括:
1) 創(chuàng)建標(biāo)簽 2)獲取公眾號已創(chuàng)建的標(biāo)簽 3)編輯標(biāo)簽 4)刪除標(biāo)簽 5)獲取標(biāo)簽下粉絲列表
標(biāo)簽的用戶管理包括:
1)批量為用戶打標(biāo)簽 2)批量為用戶取消標(biāo)簽 3)獲取用戶身上的標(biāo)簽列表
下面分別為幾種接口封裝進(jìn)行相關(guān)的介紹。
首先按照常規(guī)的方式 ,我們定義好相關(guān)的接口和實(shí)現(xiàn)關(guān)系,如下圖所示。
根據(jù)相關(guān)的接口說明,我們可以實(shí)現(xiàn)標(biāo)簽接口的定義,C#代碼如下所示。
/// <summary> /// 微信標(biāo)簽管理的API接口 /// 開發(fā)者可以使用用戶標(biāo)簽管理的相關(guān)接口,實(shí)現(xiàn)對公眾號的標(biāo)簽進(jìn)行創(chuàng)建、查詢、修改、刪除等操作,也可以對用戶進(jìn)行打標(biāo)簽、取消標(biāo)簽等操作。 /// </summary> public interface ITagApi { /// <summary> /// 創(chuàng)建標(biāo)簽 /// 一個(gè)公眾號,最多可以創(chuàng)建100個(gè)標(biāo)簽。 /// </summary> /// <param name="accessToken">調(diào)用接口憑證</param> /// <param name="name">標(biāo)簽名(30個(gè)字符以內(nèi))</param> /// <returns></returns> TagJson CreateTag(string accessToken, string name); /// <summary> /// 獲取公眾號已創(chuàng)建的標(biāo)簽 /// </summary> /// <param name="accessToken">調(diào)用接口憑證</param> /// <returns></returns> List<TagCountJson> GetTagList(string accessToken); /// <summary> /// 編輯標(biāo)簽 /// </summary> /// <param name="accessToken">調(diào)用接口憑證</param> /// <param name="id">標(biāo)簽ID</param> /// <param name="name">標(biāo)簽名稱</param> /// <returns></returns> CommonResult UpdateTag(string accessToken, int id, string name); /// <summary> /// 刪除標(biāo)簽 /// </summary> /// <param name="accessToken">調(diào)用接口憑證</param> /// <param name="id">標(biāo)簽ID</param> /// <returns></returns> CommonResult DeleteTag(string accessToken, int id); /// <summary> /// 獲取標(biāo)簽下粉絲列表 /// </summary> /// <param name="accessToken">調(diào)用接口憑證</param> /// <param name="id">標(biāo)簽ID</param> /// <param name="name">標(biāo)簽名稱</param> /// <returns></returns> GetTagResult GetTag(string accessToken, int id, string next_openid = null); /// <summary> /// 批量為用戶打標(biāo)簽 /// 標(biāo)簽功能目前支持公眾號為用戶打上最多三個(gè)標(biāo)簽。 /// </summary> /// <param name="accessToken">調(diào)用接口憑證</param> /// <param name="tagid">標(biāo)簽ID</param> /// <param name="openid_list">粉絲列表</param> /// <returns></returns> CommonResult BatchTagging(string accessToken, int tagid, List<string> openid_list); /// <summary> /// 批量為用戶取消標(biāo)簽 /// 標(biāo)簽功能目前支持公眾號為用戶打上最多三個(gè)標(biāo)簽。 /// </summary> /// <param name="accessToken">調(diào)用接口憑證</param> /// <param name="tagid">標(biāo)簽ID</param> /// <param name="openid_list">粉絲列表</param> /// <returns></returns> CommonResult BatchUntagging(string accessToken, int tagid, List<string> openid_list); /// <summary> /// 獲取用戶身上的標(biāo)簽列表 /// </summary> /// <param name="accessToken">調(diào)用接口憑證</param> /// <param name="openid">用戶OpenID</param> /// <returns></returns> List<int> GetIdList(string accessToken, string openid); }
具體我們來看看幾個(gè)接口的官方定義數(shù)據(jù)。
1)創(chuàng)建標(biāo)簽的接口
接口調(diào)用請求說明
http請求方式:POST(請使用https協(xié)議)
https://api.weixin.qq.com/cgi-bin/tags/create?access_token=ACCESS_TOKEN
POST數(shù)據(jù)格式:JSON
POST數(shù)據(jù)例子:
{ "tag" : { "name" : "廣東"//標(biāo)簽名 } }
返回說明(正常時(shí)返回的json數(shù)據(jù)包示例)
{ "tag":{ "id":134,//標(biāo)簽id "name":"廣東" } }
這樣我們就可以定義一個(gè)實(shí)體類來承載這個(gè)返回的數(shù)據(jù)了。
/// <summary> /// 標(biāo)簽信息 /// </summary> public class TagJson { /// <summary> /// 標(biāo)簽id,由微信分配 /// </summary> public int id { get; set; } /// <summary> /// 標(biāo)簽名,UTF8編碼 /// </summary> public string name { get; set; } }
這樣,創(chuàng)建標(biāo)簽的完整實(shí)現(xiàn)代碼如下所示
/// <summary> /// 創(chuàng)建標(biāo)簽 /// 一個(gè)公眾號,最多可以創(chuàng)建100個(gè)標(biāo)簽。 /// </summary> /// <param name="accessToken">調(diào)用接口憑證</param> /// <param name="name">標(biāo)簽名(30個(gè)字符以內(nèi))</param> /// <returns></returns> public TagJson CreateTag(string accessToken, string name) { var url = string.Format("https://api.weixin.qq.com/cgi-bin/tags/create?access_token={0}", accessToken); var data = new { tag = new { name = name } }; var postData = data.ToJson(); var result = JsonHelper<TagCreateResult>.ConvertJson(url, postData); return result != null ? result.tag : null; }
2)獲取公眾號已創(chuàng)建的標(biāo)簽
接口調(diào)用請求說明
http請求方式:GET(請使用https協(xié)議)
https://api.weixin.qq.com/cgi-bin/tags/get?access_token=ACCESS_TOKEN
返回?cái)?shù)據(jù)格式:JSON返回的數(shù)據(jù)例子:
{ "tags":[{ "id":1, "name":"黑名單", "count":0 //此標(biāo)簽下粉絲數(shù) },{ "id":2, "name":"星標(biāo)組", "count":0 },{ "id":127, "name":"廣東", "count":5 } ] }
這樣我們就可以定義其返回值為List
/// <summary> /// 標(biāo)簽信息和統(tǒng)計(jì)數(shù)量 /// </summary> public class TagCountJson : TagJson { /// <summary> /// 此標(biāo)簽下粉絲數(shù) /// </summary> public int count { get; set; } }
這樣我們就可以通過JSON的解析返回對應(yīng)的數(shù)據(jù)了,相關(guān)操作和上面的接口類似,不在贅述。
更多C#微信開發(fā)之微信公眾號標(biāo)簽管理功能相關(guān)文章請關(guān)注PHP中文網(wǎng)!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)