/// <summary> /// 通过code换取网页授权access_token /// </summary> /// <param name="code"></param> /// <returns></returns> public static WebAuthAccessToken GetAccessToken(string code) { var webAuth = new WebAuthAccessToken(code); var response = webAuth.RequestAsModel <WebAuthAccessToken>(); return(response); }
/// <summary> /// 通过code换取网页授权access_token /// </summary> /// <param name="code"></param> /// <returns></returns> public static async Task <WebAuthAccessToken> GetAccessTokenAsync(string code) { var webAuth = new WebAuthAccessToken(code); var response = await webAuth.RequestAsModelAsync <WebAuthAccessToken>(); return(response); }
protected async override Task <string> GetApiUrlAsync() { if (String.IsNullOrWhiteSpace(this._code)) { throw new Exception("网页授权获取用户信息 Code不能为空"); } var accessToken = await WebAuthAccessToken.GetAccessTokenAsync(this._code); if (accessToken.ErrCode != null && accessToken.ErrCode.Value != 0) { throw new Exception(String.Format("获取网页授权access_token失败: {0} {1}.", accessToken.ErrCode, accessToken.ErrMsg)); } return(String.Format("https://api.weixin.qq.com/sns/userinfo?access_token={0}&openid={1}&lang=zh_CN", accessToken.Access_Token, accessToken.OpenId)); }