C#微信開辟之微信"號標簽治理功效。本站提示廣大學習愛好者:(C#微信開辟之微信"號標簽治理功效)文章只能為提供參考,不一定能成為您想要的結果。以下是C#微信開辟之微信"號標簽治理功效正文
微信"號,模仿企業號的思緒,增長了標簽治理的功效,對存眷的粉絲可以設置標簽治理,完成加倍便利的分組治理功效。開辟者可使用用戶標簽治理的相干接口,完成對"號的標簽停止創立、查詢、修正、刪除等操作,也能夠對用戶停止打標簽、撤消標簽等操作。本篇漫筆重要引見若何應用C#對"號這個較新的特征停止封裝,完成對標簽的治理功效。
1、標簽功效引見
1)標簽功效替換分組功效,支撐多維度界說用戶屬性
運營者可登錄"平台後台,點擊左邊菜單“用戶治理”後治理已存眷用戶,點擊個中一個用戶右邊的“標簽”小角標可彈出復選框疾速為該用戶添加標簽,且添加標簽復選框內已支撐直接新建標簽。

別的,標簽功效接口也已更新,開辟者可挪用接口,完成對標簽和用戶操作。同時,高等群發接口和特性化菜單接口等已支撐依據標簽完成操作。
2)優化用戶卡片,支撐多場景檢查用戶頭像年夜圖與互動數據,加強運營者對用戶熟習度與治理效力

本期新增新聞數、留言數和贊美數等互動數據,且顯示用戶存眷時光和支撐檢查用戶頭像年夜圖,有益於拉近運營者與用戶的間隔。別的, 支撐“贊美功效”和“留言治理”場景直接收理用戶,晉升治理效力。
2、標簽的接口封裝
標簽的接口分為兩部門:標簽治理和用戶治理,一個"號,最多可以創立100個標簽。標簽功效今朝支撐"號為用戶打上最多三個標簽。
個中標簽治理包含:
1) 創立標簽 2)獲得"號已創立的標簽 3)編纂標簽 4)刪除標簽 5)獲得標簽下粉絲列表
標簽的用戶治理包含:
1)批量為用戶打標簽 2)批量為用戶撤消標簽 3)獲得用戶身上的標簽列表
上面分離為幾種接口封裝停止相干的引見。
起首依照慣例的方法 ,我們界說好相干的接口和完成關系,以下圖所示。

依據相干的接口解釋,我們可以完成標簽接口的界說,C#代碼以下所示。
/// <summary>
/// 微信標簽治理的API接口
/// 開辟者可使用用戶標簽治理的相干接口,完成對"號的標簽停止創立、查詢、修正、刪除等操作,也能夠對用戶停止打標簽、撤消標簽等操作。
/// </summary>
public interface ITagApi
{
/// <summary>
/// 創立標簽
/// 一個"號,最多可以創立100個標簽。
/// </summary>
/// <param name="accessToken">挪用接口憑證</param>
/// <param name="name">標簽名(30個字符之內)</param>
/// <returns></returns>
TagJson CreateTag(string accessToken, string name);
/// <summary>
/// 獲得"號已創立的標簽
/// </summary>
/// <param name="accessToken">挪用接口憑證</param>
/// <returns></returns>
List<TagCountJson> GetTagList(string accessToken);
/// <summary>
/// 編纂標簽
/// </summary>
/// <param name="accessToken">挪用接口憑證</param>
/// <param name="id">標簽ID</param>
/// <param name="name">標簽稱號</param>
/// <returns></returns>
CommonResult UpdateTag(string accessToken, int id, string name);
/// <summary>
/// 刪除標簽
/// </summary>
/// <param name="accessToken">挪用接口憑證</param>
/// <param name="id">標簽ID</param>
/// <returns></returns>
CommonResult DeleteTag(string accessToken, int id);
/// <summary>
/// 獲得標簽下粉絲列表
/// </summary>
/// <param name="accessToken">挪用接口憑證</param>
/// <param name="id">標簽ID</param>
/// <param name="name">標簽稱號</param>
/// <returns></returns>
GetTagResult GetTag(string accessToken, int id, string next_openid = null);
/// <summary>
/// 批量為用戶打標簽
/// 標簽功效今朝支撐"號為用戶打上最多三個標簽。
/// </summary>
/// <param name="accessToken">挪用接口憑證</param>
/// <param name="tagid">標簽ID</param>
/// <param name="openid_list">粉絲列表</param>
/// <returns></returns>
CommonResult BatchTagging(string accessToken, int tagid, List<string> openid_list);
/// <summary>
/// 批量為用戶撤消標簽
/// 標簽功效今朝支撐"號為用戶打上最多三個標簽。
/// </summary>
/// <param name="accessToken">挪用接口憑證</param>
/// <param name="tagid">標簽ID</param>
/// <param name="openid_list">粉絲列表</param>
/// <returns></returns>
CommonResult BatchUntagging(string accessToken, int tagid, List<string> openid_list);
/// <summary>
/// 獲得用戶身上的標簽列表
/// </summary>
/// <param name="accessToken">挪用接口憑證</param>
/// <param name="openid">用戶OpenID</param>
/// <returns></returns>
List<int> GetIdList(string accessToken, string openid);
}
詳細我們來看看幾個接口的官方界說數據。
1)創立標簽的接口
接口挪用要求解釋
http要求方法:POST(請應用https協定)
https://api.weixin.qq.com/cgi-bin/tags/create?access_token=ACCESS_TOKEN
POST數據格局:JSON
POST數據例子:
{
"tag" : {
"name" : "廣東"//標簽名
}
}
前往解釋(正常時前往的json數據包示例)
{
"tag":{
"id":134,//標簽id
"name":"廣東"
}
}
如許我們便可以界說一個實體類來承載這個前往的數據了。
/// <summary>
/// 標簽信息
/// </summary>
public class TagJson
{
/// <summary>
/// 標簽id,由微信分派
/// </summary>
public int id { get; set; }
/// <summary>
/// 標簽名,UTF8編碼
/// </summary>
public string name { get; set; }
}
如許,創立標簽的完全完成代碼以下所示
/// <summary>
/// 創立標簽
/// 一個"號,最多可以創立100個標簽。
/// </summary>
/// <param name="accessToken">挪用接口憑證</param>
/// <param name="name">標簽名(30個字符之內)</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)獲得"號已創立的標簽
接口挪用要求解釋
http要求方法:GET(請應用https協定)
https://api.weixin.qq.com/cgi-bin/tags/get?access_token=ACCESS_TOKEN
前往數據格局:JSON前往的數據例子:
{
"tags":[{
"id":1,
"name":"黑名單",
"count":0 //此標簽下粉絲數
},{
"id":2,
"name":"星標組",
"count":0
},{
"id":127,
"name":"廣東",
"count":5
}
]
}
如許我們便可以界說其前往值為List<TagCountJson>了,個中TagCountJson為對應類的屬性便可。
/// <summary>
/// 標簽信息和統計數目
/// </summary>
public class TagCountJson : TagJson
{
/// <summary>
/// 此標簽下粉絲數
/// </summary>
public int count { get; set; }
}
如許我們便可以經由過程JSON的解析前往對應的數據了,相干操作和下面的接口相似,不在贅述。