微信接口递归的获取用户标签下粉丝列表
每次返给接口最多10000数据,粉丝量过多需要循环调用接口
[HttpPost]
[Route("TagAddUser/GetFansByTagId")]
public ResultData<FansResponse> GetFansByTagId(FansParms fansParms)
{
if (fansData == null) fansData = new FansResponseData() { openid=new List<string>() };
ResultData<FansResponse> resultData = new ResultData<FansResponse>();
var token = _tagAddUserService.GetAccessToken();
if (token.IsSuccess == false)
{
resultData.Data = null;
resultData.IsSuccess = false;
resultData.Message = token.Message;
return resultData;
}
var httpUtils = new HttpUtils();
string reqUrl = string.Format(@"https://api.weixin.qq.com/cgi-bin/user/tag/get?access_token={0}", token.Data);
string resultStr = httpUtils.HttpPost(reqUrl, JsonConvert.SerializeObject(fansParms));
var data = JsonConvert.DeserializeObject<FansResponse>(resultStr);
if (data.errcode != 0)
{
resultData.Data = null;
resultData.IsSuccess = false;
resultData.Message = data.errmsg;
return resultData;
}
string openid = data.next_openid;
while (!string.IsNullOrEmpty(openid))
{
var parms = new FansParms
{
next_openid = openid,
tagid = fansParms.tagid
};
fansData.openid.AddRange(data.data.openid);
return GetFansByTagId(parms);
}
FansResponse result = new FansResponse()
{
count = fansData.openid.Count,
data = new FansResponseData() { openid = fansData.openid },
next_openid = openid,
errcode = data.errcode,
errmsg = data.errmsg
};
//data.data.openid.AddRange
resultData.Data = result;
resultData.IsSuccess = true;
resultData.Message = "粉丝获取成功!";
return resultData;
}
仅供学习参考,如有侵权联系我删除