微信网页获取openId
2016-04-26 19:24
471 查看
<%@ WebHandler Language="C#" Class="UserAuth" %> public class UserAuth : IHttpHandler { public void ProcessRequest(HttpContext context) { var appid = "wxf1c24c60e3ac13b7"; var secret = "5902b9817acb7a290d4b7c2e6e97d4d3"; var code = context.Request.QueryString["Code"]; if (string.IsNullOrEmpty(code)) { var url = string.Format("https://open.weixin.qq.com/connect/oauth2/authorize?appid={0}&redirect_uri=http%3a%2f%2fwx.alinq.org%2fTest%2fUserAuth.ashx&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect", appid); context.Response.Redirect(url); } else { var client = new System.Net.WebClient(); client.Encoding = System.Text.Encoding.UTF8; var url = string.Format("https://api.weixin.qq.com/sns/oauth2/access_token?appid={0}&secret={1}&code={2}&grant_type=authorization_code", appid, secret, code); var data = client.DownloadString(url); var serializer = new JavaScriptSerializer(); var obj = serializer.Deserialize<Dictionary<string, string>>(data); string accessToken; if (!obj.TryGetValue("access_token", out accessToken)) return; var opentid = obj["openid"]; url = string.Format("https://api.weixin.qq.com/sns/userinfo?access_token={0}&openid={1}&lang=zh_CN", accessToken, opentid); data = client.DownloadString(url); var userInfo = serializer.Deserialize<Dictionary<string, object>>(data); foreach (var key in userInfo.Keys) { context.Response.Write(string.Format("{0}: {1}", key, userInfo[key]) + "<br/>"); } } } }
相关文章推荐
- 微信打开网址添加在浏览器中打开提示
- moveshow-监听手指位置趣味小程序
- Android小程序-Walker注册页面(四)
- 微信第三方登录
- ios使用友盟分享到QQ/微信时时如何判断手机上是否安装了QQ以及微信的客户端
- 微信主动发送消息到客户端
- 支付宝支付 微信支付 SDK的集成教程
- 微信与支付宝钱包的竞争分析
- C#开发微信门户及应用(36)--微信卡劵管理的封装操作
- 干货二:微信SDK-分享初探-更新中
- 一个聊天小程序
- android中微信、朋友圈分享无回调的问题
- iso android a标签css :active 在微信或app内嵌不起作用解决方案
- 第三方登录——QQ、微信、新浪微博和百度登录
- 仿微信朋友圈动态内容全文显示与收起实现
- .Net实现微信公众平台开发接口(三) 之 “信息回复”
- .Net实现微信公众平台开发接口(一) 之 “微信开发配置”
- 获取微信的access_tokey,处理json格式的数据
- .Net实现微信公众平台开发接口(二) 之 “获取access_token”
- 微信--H5非微信内浏览器支付