• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

C#微信公众号开发-高级接口-之网页授权oauth2.0获取用户基本信息(二) ...

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

C#微信公众号开发之网页授权oauth2.0获取用户基本信息(一)

中讲解了如果通过微信授权2.0snsapi_base获取已经关注用户的基本信息,然而很多情况下我们经常需要获取非关注用户的信息,方法如下:

第一步和之前讲的一样:获取code,但是scope使用方法是snsapi_userinfo;

第二步,根据code获取openid和access_token(此处的access_token是通过网页授权code换取的不是我们之前讲的全局的票据),代码:

 1     /// <summary>
 2     ///用code换取获取用户信息(包括非关注用户的)
 3     /// </summary>
 4     /// <param name="Appid"></param>
 5     /// <param name="Appsecret"></param>
 6     /// <param name="Code">回调页面带的code参数</param>
 7     /// <returns>获取用户信息(json格式)</returns>
 8     public string GetUserInfo(string Appid, string Appsecret, string Code)
 9     {
10         string url = string.Format("https://api.weixin.qq.com/sns/oauth2/access_token?appid={0}&secret={1}&code={2}&grant_type=authorization_code", Appid, Appsecret, Code);
11         string ReText = CommonMethod.WebRequestPostOrGet(url, "");//post/get方法获取信息
12         Dictionary<string, object> DicText = (Dictionary<string, object>)Jss.DeserializeObject(ReText);
13         if (!DicText.ContainsKey("openid"))
14         {
15             CommonMethod.WriteTxt("获取openid失败,错误码:" + DicText["errcode"].ToString());
16             return "";
17         }
18         else
19         {
20             System.Web.HttpContext.Current.Session["Oauth_Token"] = DicText["access_token"];
21             System.Web.HttpContext.Current.Session.Timeout = 7200;
22             return CommonMethod.WebRequestPostOrGet("https://api.weixin.qq.com/sns/userinfo?access_token=" + DicText["access_token"] + "&openid=" + DicText["openid"] + "&lang=zh_CN", "");
23         }
24     }
View Code

方法已经写好,只要传入appid、appsecret、code三个参数就可以返回带用户个人信息的json数据包,格式如下:

{
   "openid":" OPENID",
   " nickname": NICKNAME,
   "sex":"1",
   "province":"PROVINCE"
   "city":"CITY",
   "country":"COUNTRY",
    "headimgurl":    "http://wx.qlogo.cn/mmopen/g3MonUZtNHkdmzicIlibx6iaFqAc56vxLSUfpb6n5WKSYVY0ChQKkiaJSgQ1dZuTOgvLLrhJbERQQ4eMsv84eavHiaiceqxibJxCfHe/46", 
	"privilege":[
	"PRIVILEGE1"
	"PRIVILEGE2"
    ],
    "unionid": "o6_bmasdasdsad6_2sgVt7hMZOPfL"
}

 QQ群:


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C#ftp服务发布时间:2022-07-13
下一篇:
C#label與TextBox常用屬性與事件发布时间:2022-07-13
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap