设为首页 加入收藏

TOP

Delphi 开发微信公众平台 (二)- 用户管理(一)
2019-08-23 00:31:38 】 浏览:139
Tags:Delphi 开发 公众 平台 用户 管理

一、用户标签管理

开发者可以使用用户标签管理的相关接口,实现对公众号的标签进行创建、查询、修改、删除等操作,也可以对用户进行打标签、取消标签等操作。

1、创建标签

/// <summary>
/// 创建标签
/// </summary>
/// <remarks>
/// 一个公众号,最多可以创建100个标签。
/// </remarks>
function CreateTag(const ATagName: string): TWechatTag;
function TWechatRequest.CreateTag(const ATagName: string): TWechatTag;
var
  Content, Response: TJSONObject;
begin
  Result := nil;
  Content := TJSONObject.Create.AddPair('tag', TJSONObject.Create.AddPair('name', ATagName));
  try
    Response := HttpPost(Content, 'tags/create');
    try
      if ParseResponse(Response) then
      begin
        Result := TJson.Json2Object<TWechatTag>(Response.Values['tag'].ToJSON);
        Result.Count := 0;
      end;
    finally
      FreeAndNil(Response);
    end;
  finally
    FreeAndNil(Content);
  end;
end;

2、获取标签

/// <summary>
/// 获取公众号已创建的标签
/// </summary>
function GetTags: TWechatTags;
function TWechatRequest.GetTags: TWechatTags;
var
  JsonString: string;
  Response: TJSONObject;
begin
  Response := HttpGet('tags/get');
  try
    if ParseResponse(Response) then
    begin
      JsonString := Response.GetValue<TJSONArray>('tags').ToJSON;
      Result := TJson.Json2Object<TWechatTags>(JsonString);
    end;
  finally
    FreeAndNil(Response);
  end;
end;

3、删除标签

/// <summary>
/// 删除标签
/// </summary>
/// <remarks>
/// 当某个标签下的粉丝超过10w时,后台不可直接删除标签。
/// 此时,开发者可以对该标签下的openid列表 ,
/// 先进行取消标签的操作,直到粉丝数不超过10w后,才可直接删除该标签。
/// </remarks>
function DeleteTag(ATagId: Integer): Boolean;
function TWechatRequest.DeleteTag(ATagId: Integer): Boolean;
var
  Content, Response: TJSONObject;
begin
  Content := TJSONObject.Create.AddPair('tag', TJSONObject.Create.AddPair('id', TJSONNumber.Create(ATagId)));
  try
    Response := HttpPost(Content, 'tags/delete');
    try
      Result := ParseResponse(Response);
    finally
      FreeAndNil(Response);
    end;
  finally
    FreeAndNil(Content);
  end;
end;

4、编辑标签

/// <summary>
/// 编辑标签
/// </summary>
function UpdateTag(ATagId: Integer; ANewName: string): Boolean;
function TWechatRequest.UpdateTag(ATagId: Integer; ANewName: string): Boolean;
var
  Content, Response: TJSONObject;
begin
  Content := TJSONObject.Create.AddPair('tag', TJSONObject.Create
      .AddPair('id', TJSONNumber.Create(ATagId))
      .AddPair('name', ANewName)
    );
  try
    Response := HttpPost(Content, 'tags/update');
    try
      Result := ParseResponse(Response);
    finally
      FreeAndNil(Response);
    end;
  finally
    FreeAndNil(Content);
  end;
end;

二、设置用户备注名

/// <summary>
/// 设置用户备注名
/// </summary>
/// <remarks>
/// https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140838
/// </remarks>
function UpdateRemark(const AOpenID, ARemark: string): Boolean;
function TWechatRequest.UpdateRemark(const AOpenID, ARemark: string): Boolean;
var
  Content, Response: TJSONObject;
begin
  Content := TJSONObject.Create.AddPair('openid', AOpenID).AddPair('remark', ARemark);
  try
    Response := HttpPost(Content, 'user/info/updateremark');
    try
      Result := ParseResponse(Response);
    finally
      FreeAndNil(Response);
    end;
  finally
    FreeAndNil(Content);
  end;
end;

三、获取用户基本信息(UnionID机制)

在关注者与公众号产生消

首页 上一页 1 2 下一页 尾页 1/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Delphi中使用ISuperObject解析Jso.. 下一篇XE5 搭建DataSnap服务

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目