zoukankan      html  css  js  c++  java
  • c# 微信开发 《获取用户的信息》

    public const string WeiXin_User_GetInfoUrl = "https://api.weixin.qq.com/cgi-bin/user/info?access_token={0}&openid={1}&lang=zh_CN";
    
    /// <summary>
            /// 根据OpenID 获取用户在微信的基本信息(需关注公众号)
            /// </summary>
            /// <param name="openId"></param>
            public static WeiXinUserInfo GetUserInfo(string openId)
            {
                WeiXinUserInfo info = new WeiXinUserInfo();
                try {
                    var token = GetAccsss_token();
                    string url = string.Format(WeiXin_User_GetInfoUrl, token, openId);
                    string result = GetData(url);
                    if (string.IsNullOrEmpty(result))
                        return null;
                    info = JsonConvert.DeserializeObject<WeiXinUserInfo>(result);
                }catch(Exception ex){
                    LogHelper.WriteFileLog("getUserWeixinInfoError", ex.Message);
                }
                
                return info;
            }
         
    
    /// <summary>
            /// 保存用户信息
            /// </summary>
            public void SaveUserInfo(string FromUserName) {
                //第一次关注
                WeiXinCommom.WeiXinUserInfo info = WeiXinCommom.GetUserInfo(FromUserName);
                string SaveUserWeiXinInfurl = RequestUrl.ServiceUrl + RequestUrl.SaveUserWeiXinInfo;
                Entity SaveUserWeiXinInfdata = new Entity(new PropertyCollection());
                string WeixinQrCodePath = ConfigurationManager.AppSettings["UserHeadUploadPath"].TryString();
                string rootpath = System.AppDomain.CurrentDomain.BaseDirectory;//程序运行地址
                string path = rootpath + WeixinQrCodePath; //文件夹绝对路径
                if (!Directory.Exists(path))
                {
                    Directory.CreateDirectory(path);
                }
                string Guidcode = Guid.NewGuid().TryString();
                string HeadImgPath = path + "/" + Guidcode + ".jpg";//用户头像的绝对路径
                string SaveImg = "/" + WeixinQrCodePath + "/" + Guidcode + ".jpg";
                WeiXinCommom.SaveUrlImage(info.HeadImgUrl, HeadImgPath);
                SaveUserWeiXinInfdata.AddSimple("WeiXinOpenID", FromUserName, typeof(string));
                SaveUserWeiXinInfdata.AddSimple("NickName", (info.NickName == null ? "" : info.NickName), typeof(string));
                SaveUserWeiXinInfdata.AddSimple("HeadImgUrl", SaveImg, typeof(string));
                SaveUserWeiXinInfdata.AddSimple("Subscribe", 1, typeof(int));
                RequestUrl.RequestWebByPost(SaveUserWeiXinInfurl, SaveUserWeiXinInfdata);//更新用户关注状态
            }     
    
    /// <summary>
            /// 保存网络图片
            /// </summary>
            /// <param name="stUrl"></param>
            /// <param name="imgPath"></param>
            /// <returns></returns>
            public static void SaveUrlImage(string stUrl, string imgPath)
            {
                HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create(stUrl);
    
                req.Method = "GET";
    
                using (WebResponse wr = req.GetResponse())
                {
                    HttpWebResponse myResponse = (HttpWebResponse)req.GetResponse();
                    string strpath = myResponse.ResponseUri.ToString();
                    WebClient mywebclient = new WebClient();
    
                    try
                    {
                        mywebclient.DownloadFile(strpath, imgPath);
                    }
                    catch (Exception ex)
                    {
                        LogHelper.WriteFileLog("WebResponse", ex.Message);
                    }
                }
            }
    

      

  • 相关阅读:
    1. 单个文件下载
    16. js方法传多个参数的实例
    15. combobox、combotree获取显示值和value值方式
    38. 查看oracle表空间存放的位置(查看所有的数据库文件的存放位置)
    Vuejs 高仿饿了么外卖APP 百度云视频教程下载
    mysql 5.7 百度云网盘下载
    mysql 5.1 下载地址 百度云网盘下载
    Zookeeper学习笔记-概念介绍
    JavaScript工程师都应懂的33个概念
    IIS部署asp.net MVC 出现错误 403.14-Forbidden解决办法
  • 原文地址:https://www.cnblogs.com/yyyuguo/p/8426804.html
Copyright © 2011-2022 走看看