来工做快两个月了,成长固然仍是有的,但有不少作的很差的,不少东西可能没有深刻理解,只能作一些简单功能,而后有时候可能效率比较低,脑壳比较喜欢乱想。json
日后天天就记录下本身在工做和学习上的事情吧 固然如今的目标仍是定位要在能把全部功能实现的阶段,性能这方面等之后或者师傅来解决和提点以及本身成长一段时间了。api
新项目,要我作我的中心 而后在了解微信和qq的第三方登陆 目前作了微信的一些不彻底实现 只作了三步微信
经过连接调到登陆页面app
而后登陆成功回调页面得到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_tokenurl
string access_token = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=" + appid + "&secret=" + AppSecret + "&code=" + code + "&grant_type=authorization_code";code
最后access_token获取我的信息token
string Getdate = "https://api.weixin.qq.com/sns/userinfo?access_token=" + tokenDate.access_token + "&openid=" + tokenDate.openid + "&lang=zh_CN";ci
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();