微信公众平台实现获取用户OpenID的方法,供大家参考,具体内容如下
Index.aspx.cs代码:
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 | publicpartialclassIndex : System.Web.UI.Page{ //用户id publicstringopenid = ""; //公众号信息部分 publicstringappid = ConfigurationManager.AppSettings["AppId"]; publicstringappsecret = ConfigurationManager.AppSettings["AppSecret"]; publicstringredirect_uri =HttpUtility.UrlEncode("//www.zzvips.com"); publicstringscope = "【删除这个并填入请求类型,例如:snsapi_userinfo】"; #region 显示页面 publicstringaccesstoken; publicstringnickname; publicstringsex; publicstringheadimgurl; publicstringprovince; publicstringcountry; publicstringlanguage; publicstringcity; publicstringprivilege = ""; #endregion {  /*  *微信认证获取openid部分:  *临时认证code  */  //微信认证部分:第二步 获得code  stringcode = Request["code"];  if(string.IsNullOrEmpty(code))  {   //如果code没获取成功,重新拉取一遍   OpenAccess();  }  //微信认证部分:第三步 获得openid  stringurl = string.Format("https://api.weixin.qq.com/sns/oauth2/access_token?appid={0}&secret={1}&code={2}&grant_type=authorization_code", appid, appsecret, code);  stringresult = HttpClientHelper.GetResponse(url);  LogHelper.WriteFile(result);  JObject outputObj = JObject.Parse(result);  //微信认证部分:第四步 获得更多信息  accesstoken = outputObj["access_token"].ToString();  openid = outputObj["openid"].ToString();  url = string.Format("https://api.weixin.qq.com/sns/userinfo?access_token={0}&openid={1}&lang=zh_CN",accesstoken,openid);  stringresult1 = HttpClientHelper.GetResponse(url);  LogHelper.WriteFile(result1);  JObject outputObj1 = JObject.Parse(result1);//将json转为数组  //以下是第四步获得的信息:     nickname = outputObj1["nickname"].ToString(); //昵称   sex = outputObj1["sex"].ToString(); //性别什么的   province = outputObj1["province"].ToString(); ;   country = outputObj1["country"].ToString(); ;   language = outputObj1["language"].ToString(); ;   city = outputObj1["city"].ToString(); ;  //将获得的用户信息填入到session中  Session["openid"] = outputObj1["openid"];  //转向回入口  //OpenAccess(); } /*  * 接入入口  * 开放到微信菜单中调用  * @param $dir_url 来源url  * @since 1.0  * @return void  */ publicvoidOpenAccess() {  //判断session不存在  if(Session["openid"] == null)  {   //认证第一步:重定向跳转至认证网址   stringurl = string.Format("https://open.weixin.qq.com/connect/oauth2/authorize?appid={0}&redirect_uri={1}&&response_type=code&scope=snsapi_userinfo&m=oauth2#wechat_redirect", appid, redirect_uri);   Response.Redirect(url);  }  //判断session存在  else  {   //跳转到前端页面.aspx   Response.Redirect(Request.Url.ToString());  } }} | 
Index.aspx内容:
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 | <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Index.aspx.cs" Inherits="TEST.Index" %><!DOCTYPE html><htmlxmlns="http://www.w3.org/1999/xhtml"><headrunat="server"> <title></title> <metaname="viewport"content="width=device-width, initial-scale=1"/> <styletype="text/css">  td  {   word-wrap: break-word;  } </style> </script></head><body> <formid="form1"runat="server"> <divid="wu"runat="server">  <tablestyle="width: 100%;">   <tr>    <tdstyle="width: 150px;">     <p>      openid:<%=openid%></p>    </td>    <td>     <p>      nickname:<%=nickname%></p>    </td>    <td>     <p>      sex:<%=sex%></p>    </td>   </tr>   <tr>    <td>     <p>      language:<%=language%></p>    </td>    <td>     <p>      city:<%=city%></p>    </td>    <td>     <p>      country:<%=country%></p>    </td>   </tr>   <tr>    <td>     <p>
 HttpClientHelper.cs代码: 
 结果如图: 
 | 
© 版权声明
本文刊载的所有内容,包括文字、图片、音频、视频、软件、程序、以及网页版式设计等部门来源于互联网,版权均归原作者所有!本网站提供的内容服务于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯本网站及相关权利人的合法权利。
联系信息:邮箱aoxolcom@163.com或见网站底部。
联系信息:邮箱aoxolcom@163.com或见网站底部。
THE END
    



















请登录后发表评论
注册
社交帐号登录