分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 软件开发

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

发布时间:2023-09-06 01:44责任编辑:郭大石关键词:暂无标签

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

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

新项目,要我做个人中心 然后在了解微信和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实习生的第一篇博客

原文地址:https://www.cnblogs.com/lrbase/p/8490748.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved