一个net实习生的第一篇博客

Posted lrbase

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一个net实习生的第一篇博客相关的知识,希望对你有一定的参考价值。

来工作快两个月了,成长当然还是有的,但有很多做的不好的,很多东西可能没有深入理解,只能做一些简单功能,然后有时候可能效率比较低,脑袋比较喜欢乱想。

往后每天就记录下自己在工作和学习上的事情吧 当然现在的目标还是定位要在能把所有功能实现的阶段,性能这方面等以后或者师傅来解决和提点以及自己成长一段时间了。

新项目,要我做个人中心 然后在了解微信和qq的第三方登录  目前做了微信的一些不完全实现  只做了三步

通过链接调到登录页面

然后登录成功回调页面获得code

string url = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=" + appid + "&redirect_uri=" + redirect_uri + "&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect";

然后再通过code获得access_token

 string access_token = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=" + appid + "&secret=" + AppSecret + "&code=" + code + "&grant_type=authorization_code";

最后access_token获取个人信息

string Getdate = "https://api.weixin.qq.com/sns/userinfo?access_token=" + tokenDate.access_token + "&openid=" + tokenDate.openid + "&lang=zh_CN";

HttpClient client = new HttpClient();
string json = client.GetStringAsync(access_token).Result;

获得的数据最后当然也是要反序列化的 旁边的小师傅建议建立一个实体对应返回的数据格式 然后直接读取 如下

 string getJson = client.GetStringAsync(Getdate).Result;

 Backdata da = JsonConvert.DeserializeObject<Backdata>(getJson);

Backdata实体为 

public class Backdata
{
/// <summary>
/// 用户昵称
/// </summary>
string nickname { get; set; }
/// <summary>
/// 普通用户性别,1为男性,2为女性
/// </summary>
int sex { get; set; }
/// <summary>
/// 省份
/// </summary>
string province { get; set; }
/// <summary>
/// 用户头像
/// </summary>
string headimgurl { get; set; }
/// <summary>
/// 城市
/// </summary>
string city { get; set; }
/// <summary>
/// 国家
/// </summary>
string country { get; set; }
/// <summary>
/// 统一标识
/// </summary>
int unionid { get; set; }
}

然后通过下面反序列化也是可以的

JObject jo = (JObject)JsonConvert.DeserializeObject(reader.ReadToEnd());
string zo = jo["data"]["forecast"].ToString();

 

以上是关于一个net实习生的第一篇博客的主要内容,如果未能解决你的问题,请参考以下文章

我的第一篇博客

第一篇博客 , 给自己

我的第一篇博客

小萌新的第一篇博客

我自己的第一篇博客

我的第一篇博客园随笔