博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C#微信公众号开发-高级接口-之网页授权oauth2.0获取用户基本信息(二)
阅读量:5261 次
发布时间:2019-06-14

本文共 1762 字,大约阅读时间需要 5 分钟。

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

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

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

1     ///  2     ///用code换取获取用户信息(包括非关注用户的) 3     ///  4     ///  5     ///  6     /// 回调页面带的code参数 7     /// 
获取用户信息(json格式)
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
DicText = (Dictionary
)Jss.DeserializeObject(ReText);13 if (!DicText.ContainsKey("openid"))14 {15 CommonMethod.WriteTxt("获取openid失败,错误码:" + DicText["errcode"].ToString());16 return "";17 }18 else19 {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":    "", 	"privilege":[	"PRIVILEGE1"	"PRIVILEGE2"    ],    "unionid": "o6_bmasdasdsad6_2sgVt7hMZOPfL"}

 QQ群:

转载于:https://www.cnblogs.com/net-xiejun/p/4632711.html

你可能感兴趣的文章
PHP编程基础学习(一)——数据类型
查看>>
MongoDB-JAVA-Driver 3.2版本常用代码全整理(2) - 查询
查看>>
NPOI处理Word文本中上下角标
查看>>
Android笔记 Handler
查看>>
如何阅读大型前端开源项目的源码(转)
查看>>
java.util.Arrays类详解
查看>>
idea搭建tocmat
查看>>
NYOJ-626-intersection set(二分查找)
查看>>
项目管理之路(1):初步踏入项目管理
查看>>
Java 中 静态方法与非静态方法的区别
查看>>
echarts饼图显示百分比
查看>>
JMS消息
查看>>
Jenkins+ProGet+Windows Batch搭建全自动的内部包(NuGet)打包和推送及管理平台
查看>>
php上传文件及头像预览
查看>>
大四java实习生的一些经历
查看>>
线程池的概念
查看>>
Oracle_Statspack性能诊断工具
查看>>
转获取sql维护的表关系
查看>>
Java 序列化
查看>>
Java 时间处理实例
查看>>