• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >微信公众号 > C#微信公众号开发--网页授权(oauth2.0)获取用户基本信息二

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

作者:匿名 字体:[增加 减小] 来源:互联网

匿名通过本文主要向大家介绍了C#,微信公众号,网页授权等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

前言

这一篇实现snsapi_userinfo,写这篇时其实我是有疑惑的,因为我并没有调试成功,但是我反复检查程序和思路是没有问题的,因为我使用的测试公众号,群里一个伙计说他之前调试时用的也是测试公众号也遇到了和我一样的问题,然后换上正式公众号就好了。而且我再三检查了微信开发文档里,snsapi_userinfo的方式是要比snsapi_base简单的,也很好理解。

我先描述下问题吧,snsapi_userinfo的方式是不需要我们关注公众号的,所以我就在未关注的情下点击页面地址跳转后提示我未关注测试公众号。

实现思路

有了上一篇网页授权获取用户基本信息一的基础,再实现snsapi_userinfo就更快了,一路调接口。

1、先获取code

2、根据code获取网页授权access_token和openid。 这里微信对access_token是有调用限制的,每天12次,所以拿到access_token后缓存起来。

3、根据access_token和openid获取用户信息。

看代码

 public ActionResult OAuthSnsApiUserInfo()  
 {        
 string code = Request.QueryString["code"];        
 try        
 {             
 if (!string.IsNullOrEmpty(code))             
 {                 
 OAuthToken oauthToken = HttpUtility.Get<OAuthToken>
 (string.Format("https://api.weixin.qq.com/sns/oauth2/access_token?appid={0}&secret={1}&code={2}&grant_type=authorization_code", appID, appsecret, code));
if (oauthToken != null && !string.IsNullOrEmpty(oauthToken.openid) && !string.IsNullOrEmpty(oauthToken.access_token))                    
{                        
OAuthUserInfo userInfo = Get
<OAuthUserInfo>(string.Format("https://api.weixin.qq.com/sns/userinfo?access_token={0}&openid={1}&lang=zh_CN", oauthToken.access_token, oauthToken.openid));
if (userInfo != null)                        
{                            
ViewData["headImage"] = userInfo.headimgurl;                            
ViewData["openid"] = userInfo.openid;                            
ViewData["nickName"] = userInfo.nickname;                            
if (userInfo.sex == 0)                            
{                                
ViewData["sex"] = "未知";                            
}                            
else if (userInfo.sex == 1)                            
{                                
ViewData["sex"] = "男";                            
}                            
else                            
{                                
ViewData["sex"] = "女";                            
}                            
ViewData["province"] = userInfo.province;                            
ViewData["city"] = userInfo.city;                        
}                        
else                        
{                        
}                    
}                    
else                    
{                           
}                
}                
else                
{                    
return Redirect(string.Format("https://open.weixin.qq.com/connect/oauth2/authorize?appid={0}&redirect_uri={1}&response_type=code&scope=snsapi_userinfo&state=123456
#wechat_redirect", appID,Server.UrlEncode("http://" + Request.Url.Host + Url.Action("OAuthSnsApiUserInfo"))));             
}        
}       
catch (Exception ex)      
{            
ViewData["errmsg"] = ex.Message;      
}                  
return View(); 
}

总结

网页授权二里获取用户信息的接口是:https://api.weixin.qq.com/sns/userinfo?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN。

参考

http://www.cnblogs.com/net-xiejun/p/4632711.html

http://www.cnblogs.com/txw1958/p/weixin76-user-info.html

以上就是C#微信公众号开发--网页授权(oauth2.0)获取用户基本信息二的内容,更多相关内容请关注()!

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • .NET C#使用微信公众号登录网站的实例解析
  • C#.net实现微信公众账号接口开发的实例解析
  • C#开发微信公众号与订阅号接口的实例详解
  • 分享一个Android仿微信菜单使用C#和Java分别实现的实例
  • 入门C#微信开发第一步
  • C#开发微信多客服功能及开发集成实例
  • C#开发微信门户应用管理系统功能介绍
  • 使用c#开发公众平台自定义菜单功能实例代码
  • C#开发微信公众号接口开发详细介绍
  • C#开发微信公众号与订阅号接口实例代码

相关文章

  • C#开发微信门户及应用使用地理位置扩展相关应用
  • 微信公众号发红包和企业付款实现方法
  • 总结关于页面路由实例教程
  • ASP.NET MVC5+EF6+EasyUI 后台管理系统微信公众平台开发
  • 微信公众平台开发微信公众平台通用开发框架
  • 微信小程序开发制作麦克风动画 实现放大、淡出效果
  • PHP微信刮刮卡
  • C#开发微信门户及应用微信现金红包的封装及使用
  • asp.net开发微信公众平台(4)关注事件、用户记录、回复文本消息
  • php微信支付接口开发程序详细介绍

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • C#开发微信门户及应用在微信菜单中采用重定向获取用户数据
    • 微信公众平台客户端调试工具-WPF开发
    • Native是什么?Native用法总结
    • html5实现微信打飞机游戏代码分享
    • 微信开发公众号平台视频教程
    • 微信如何验证所有者
    • 实现类似微信中说话功能的录音处理代码实例
    • 微信开发之微信jsapi选择图片,上传图片,预览和下载图片方法
    • 微信开发之菜单查询接口
    • 微信公众帐号开发调试工具发布介绍

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有