Пример #1
0
        /// <summary>
        /// 获取关注者列表测试
        /// </summary>
        public static void GetAttentionsTest()
        {
            IMpClient             mpClient = new MpClient();
            AccessTokenGetRequest request  = new AccessTokenGetRequest()
            {
                AppIdInfo = new AppIdInfo()
                {
                    AppID = appId, AppSecret = appSecret
                }
            };
            AccessTokenGetResponse response = mpClient.Execute(request);

            if (response.IsError)
            {
                Console.WriteLine("获取令牌环失败..");
                return;
            }

            GetAttentionsRequest request2 = new GetAttentionsRequest()
            {
                AccessToken = response.AccessToken.AccessToken
            };

            var response2 = mpClient.Execute(request2);

            if (response2.IsError)
            {
                Console.WriteLine("获取关注者列表失败,错误信息为:" + response2.ErrInfo.ErrCode + "-" + response2.ErrInfo.ErrMsg);
            }
            else
            {
                Console.WriteLine("获取关注者列表成功");
                Console.WriteLine(Tools.ToJsonString(response2.Attentions));
            }
        }
Пример #2
0
        protected void Page_Load(object sender, EventArgs e)
        {
            string weixin_appid = "";
            string weixin_secret = "";
            weixin_appid = Utils.GetConfigString("", "YHQAppId").Trim();
            weixin_secret = Utils.GetConfigString("", "YHQAppSecret").Trim();

            if (Utils.GetQueryStringValue("sync") != "1") Utils.RCWE("");

            IMpClient mpClient = new MpClient();
            AccessTokenGetRequest request = new AccessTokenGetRequest()
            {
                AppIdInfo = new AppIdInfo() { AppID = weixin_appid, AppSecret = weixin_secret }
            };

            AccessTokenGetResponse response = mpClient.Execute(request);
            if (response.IsError)
            {
                Utils.RCWE("获取令牌环失败..");
            }

            GetAttentionsRequest request2 = new GetAttentionsRequest()
            {
                AccessToken = response.AccessToken.AccessToken
            };

            var response2 = mpClient.Execute(request2);
            if (response2.IsError)
            {
                Utils.RCWE("获取关注者列表失败,错误信息为:" + response2.ErrInfo.ErrCode + "-" + response2.ErrInfo.ErrMsg);
            }

            foreach (var item in response2.Attentions.data.openid)
            {
                var info1 = Eyousoft_yhq.Web.BsendMsg.WeiXin.GetUserInfo(item);

                var info = new Eyousoft_yhq.Model.MWeiXinYongHuInfo();
                info.city = info1.City;
                info.country = info1.Country;
                info.createtime = DateTime.Now;
                info.headimgurl = info1.HeadImgUrl;
                info.language = info1.Language;
                info.latesttime = DateTime.Now;
                info.nickname = info1.NickName;
                info.openid = info1.OpenId;
                info.province = info1.Province;
                info.sex = info1.Sex;
                info.subscribe = info1.SubScribe;
                info.subscribe_time = info1.SubscribeTime;
                info.unionid = string.Empty;
                info.YongHuId = Guid.NewGuid().ToString();

                new Eyousoft_yhq.BLL.BWeiXin().YongHu_C(info);
            }

            Utils.RCWE("获取关注者列表成功");
        }
Пример #3
0
        /// <summary>
        /// 获取关注者列表测试
        /// </summary>
        public static string GetAttentions()
        {
            try
            {
                IMpClient mpClient = new MpClient();
                var       request  = new AccessTokenGetRequest()
                {
                    AppIdInfo = new AppIdInfo()
                    {
                        AppId = AppId, AppSecret = AppSecret
                    }
                };
                var response = mpClient.Execute(request);
                if (response.IsError)
                {
                    return(null);
                }

                var request2 = new GetAttentionsRequest()
                {
                    AccessToken = response.AccessToken.AccessToken
                };

                var response2 = mpClient.Execute(request2);
                if (response2.IsError)
                {
                    LogHelper.WriteLog(typeof(UserGroupOperation), response2.ErrInfo.ErrMsg);
                    return(null);
                }
                return(Tools.ToJsonString(response2.Attentions));
            }
            catch (Exception ex)
            {
                LogHelper.WriteLog(typeof(UserGroupOperation), ex);
                throw new Exception(ex.Message);
            }
        }
Пример #4
0
        public static List <string> GetAttentionsList()
        {
            List <string> openIds = new List <string>();

            while (true)
            {
                IMpClient            mpClient = new MpClient();
                GetAttentionsRequest request  = new GetAttentionsRequest()
                {
                    AccessToken = GetAccessToken(null),
                };
                if (openIds.Count > 0)
                {
                    request.NextOpenId = openIds.Last();
                }
                var response = mpClient.Execute(request);
                if (response.IsError)
                {
                    LogHelper.WriteError("WeixinHelper", "获取关注者列表失败,错误信息为:" + response.ErrInfo.ErrCode + "-" + response.ErrInfo.ErrMsg, null);
                    break;
                }
                else
                {
                    if (response.Attentions.data.openid.Count > 0)
                    {
                        openIds.AddRange(response.Attentions.data.openid);
                    }
                    if (response.Attentions.total <= openIds.Count)
                    {
                        break;
                    }
                }
            }

            return(openIds);
        }
Пример #5
0
        /// <summary>
        /// 获取关注者列表
        /// </summary>
        /// <param name="AttentionsList">返回关注的列表</param>
        /// <param name="NextOpenId">超过一万时最后一个关注OPENID</param>
        /// <returns></returns>
        public static WeiXinResult GetAttentions(ref List <string> AttentionsList, string NextOpenId)
        {
            WeiXinResult          AttentionsResult = new WeiXinResult();
            IMpClient             mpClient         = new MpClient();
            AccessTokenGetRequest request          = new AccessTokenGetRequest()
            {
                AppIdInfo = new AppIdInfo()
                {
                    AppID = appId, AppSecret = appSecret
                }
            };
            AccessTokenGetResponse response = mpClient.Execute(request);

            if (response.IsError)
            {
                AttentionsResult.IsResult  = false;
                AttentionsResult.ResultMsg = "获取令牌环失败";
                return(AttentionsResult);
            }
            string AccessToken            = response.AccessToken.AccessToken;
            GetAttentionsRequest request2 = new GetAttentionsRequest()
            {
                AccessToken = AccessToken,
                NextOpenId  = NextOpenId
            };

            var response2 = mpClient.Execute(request2);

            if (response2.IsError)
            {
                AttentionsResult.IsResult  = false;
                AttentionsResult.ResultMsg = "获取关注者列表失败,错误信息为:" + response2.ErrInfo.ErrCode + "-" + response2.ErrInfo.ErrMsg;
                return(AttentionsResult);
            }
            else
            {
                var list = response2.Attentions;
                if (list.total > 0)
                {
                    if (list.data.openid.Count > 0)
                    {
                        AttentionsList.AddRange(list.data.openid);
                        if (list.total > 10000 && !String.IsNullOrEmpty(list.next_openid))//超过一万
                        {
                            return(GetAttentions(ref AttentionsList, list.next_openid));
                        }
                        else
                        {
                            // Adpost.Finawin.Utility.ConfigClass.SetConfigKeyValue("next_openid", list.next_openid);
                            AttentionsResult.IsResult  = true;
                            AttentionsResult.ResultMsg = "获取关注者列表成功";
                            return(AttentionsResult);
                        }
                    }
                    else
                    {
                        AttentionsResult.IsResult  = false;
                        AttentionsResult.ResultMsg = "无关注者数据";
                        return(AttentionsResult);
                    }
                }
                else
                {
                    AttentionsResult.IsResult  = false;
                    AttentionsResult.ResultMsg = "无关注者数据";
                    return(AttentionsResult);
                }
            }
        }
Пример #6
0
        /// <summary>
        /// 获取关注者列表
        /// </summary>
        /// <param name="AttentionsList">返回关注的列表</param>
        /// <param name="NextOpenId">超过一万时最后一个关注OPENID</param>
        /// <returns></returns>
        public static WeiXinResult GetAttentions(ref List<string> AttentionsList, string NextOpenId)
        {
            WeiXinResult AttentionsResult = new WeiXinResult();
            IMpClient mpClient = new MpClient();
            AccessTokenGetRequest request = new AccessTokenGetRequest()
            {
                AppIdInfo = new AppIdInfo() { AppID = appId, AppSecret = appSecret }
            };
            AccessTokenGetResponse response = mpClient.Execute(request);
            if (response.IsError)
            {
                AttentionsResult.IsResult = false;
                AttentionsResult.ResultMsg = "获取令牌环失败";
                return AttentionsResult;

            }
            string AccessToken = response.AccessToken.AccessToken;
            GetAttentionsRequest request2 = new GetAttentionsRequest()
            {
                AccessToken = AccessToken,
                NextOpenId = NextOpenId
            };

            var response2 = mpClient.Execute(request2);
            if (response2.IsError)
            {
                AttentionsResult.IsResult = false;
                AttentionsResult.ResultMsg = "获取关注者列表失败,错误信息为:" + response2.ErrInfo.ErrCode + "-" + response2.ErrInfo.ErrMsg;
                return AttentionsResult;
            }
            else
            {
                var list = response2.Attentions;
                if (list.total > 0)
                {
                    if (list.data.openid.Count > 0)
                    {
                        AttentionsList.AddRange(list.data.openid);
                        if (list.total > 10000 && !String.IsNullOrEmpty(list.next_openid))//超过一万
                        {
                            return GetAttentions(ref AttentionsList, list.next_openid);
                        }
                        else
                        {
                            // Adpost.Finawin.Utility.ConfigClass.SetConfigKeyValue("next_openid", list.next_openid);
                            AttentionsResult.IsResult = true;
                            AttentionsResult.ResultMsg = "获取关注者列表成功";
                            return AttentionsResult;
                        }
                    }
                    else
                    {
                        AttentionsResult.IsResult = false;
                        AttentionsResult.ResultMsg = "无关注者数据";
                        return AttentionsResult;
                    }
                }
                else
                {
                    AttentionsResult.IsResult = false;
                    AttentionsResult.ResultMsg = "无关注者数据";
                    return AttentionsResult;
                }
            }
        }
Пример #7
0
        protected void Page_Load(object sender, EventArgs e)
        {
            string weixin_appid  = "";
            string weixin_secret = "";

            weixin_appid  = Utils.GetConfigString("", "YHQAppId").Trim();
            weixin_secret = Utils.GetConfigString("", "YHQAppSecret").Trim();

            if (Utils.GetQueryStringValue("sync") != "1")
            {
                Utils.RCWE("");
            }

            IMpClient             mpClient = new MpClient();
            AccessTokenGetRequest request  = new AccessTokenGetRequest()
            {
                AppIdInfo = new AppIdInfo()
                {
                    AppID = weixin_appid, AppSecret = weixin_secret
                }
            };

            AccessTokenGetResponse response = mpClient.Execute(request);

            if (response.IsError)
            {
                Utils.RCWE("获取令牌环失败..");
            }

            GetAttentionsRequest request2 = new GetAttentionsRequest()
            {
                AccessToken = response.AccessToken.AccessToken
            };

            var response2 = mpClient.Execute(request2);

            if (response2.IsError)
            {
                Utils.RCWE("获取关注者列表失败,错误信息为:" + response2.ErrInfo.ErrCode + "-" + response2.ErrInfo.ErrMsg);
            }

            foreach (var item in response2.Attentions.data.openid)
            {
                var info1 = Eyousoft_yhq.Web.BsendMsg.WeiXin.GetUserInfo(item);

                var info = new Eyousoft_yhq.Model.MWeiXinYongHuInfo();
                info.city           = info1.City;
                info.country        = info1.Country;
                info.createtime     = DateTime.Now;
                info.headimgurl     = info1.HeadImgUrl;
                info.language       = info1.Language;
                info.latesttime     = DateTime.Now;
                info.nickname       = info1.NickName;
                info.openid         = info1.OpenId;
                info.province       = info1.Province;
                info.sex            = info1.Sex;
                info.subscribe      = info1.SubScribe;
                info.subscribe_time = info1.SubscribeTime;
                info.unionid        = string.Empty;
                info.YongHuId       = Guid.NewGuid().ToString();

                new Eyousoft_yhq.BLL.BWeiXin().YongHu_C(info);
            }

            Utils.RCWE("获取关注者列表成功");
        }