/// <summary> /// 获取用户信息。 /// </summary> /// <param name="oAuthAccessToken">网页授权接口调用凭证,注意:此access_token与基础支持的access_token不同。</param> /// <param name="openId">用户的唯一标识。</param> /// <param name="language">返回国家地区语言版本,zh_CN 简体,zh_TW 繁体,en 英语。</param> /// <returns>用户信息。</returns> public OAuthUserInfo GetUserInfo(GetOAuthAccessTokenResult oAuthAccessToken, string openId, string language) { oAuthAccessToken.NotNull("accessToken"); //票据过期则刷新票据。 if (oAuthAccessToken.IsExpires()) { oAuthAccessToken = RefreshToken(oAuthAccessToken.RefreshToken); } var url = string.Format("https://api.weixin.qq.com/sns/userinfo?access_token={0}&openid={1}&lang={2}", oAuthAccessToken.AccessToken, openId, language); return(WeiXinHttpHelper.GetResultByJson <OAuthUserInfo>(url)); }
/// <summary> /// 获取用户信息。 /// </summary> /// <param name="oAuthAccessToken">网页授权接口调用凭证,注意:此access_token与基础支持的access_token不同。</param> /// <param name="openId">用户的唯一标识。</param> /// <param name="language">返回国家地区语言版本,zh_CN 简体,zh_TW 繁体,en 英语。</param> /// <returns>用户信息。</returns> public OAuthUserInfo GetUserInfo(GetOAuthAccessTokenResult oAuthAccessToken, string openId, string language) { oAuthAccessToken.NotNull("accessToken"); //票据过期则刷新票据。 if (oAuthAccessToken.IsExpires()) oAuthAccessToken = RefreshToken(oAuthAccessToken.RefreshToken); var url = string.Format("https://api.weixin.qq.com/sns/userinfo?access_token={0}&openid={1}&lang={2}", oAuthAccessToken.AccessToken, openId, language); return WeiXinHttpHelper.GetResultByJson<OAuthUserInfo>(url); }
/// <summary> /// 刷新访问票据。 /// </summary> /// <param name="refreshToken">刷新票据。</param> /// <returns>结果模型。</returns> public GetOAuthAccessTokenResult RefreshToken(string refreshToken) { var url = _openAccountModel == null?string.Format("https://api.weixin.qq.com/sns/oauth2/refresh_token?appid={0}&grant_type=refresh_token&refresh_token={1}", _accountModel.AppId, refreshToken) : string.Format("https://api.weixin.qq.com/sns/oauth2/component/refresh_token?appid={0}&grant_type=refresh_token&component_appid={1}&component_access_token={2}&refresh_token={3}", _accountModel.AppId, _openAccountModel.AppId, _openAccountModel.GetAccessToken(), refreshToken); return(GetOAuthAccessTokenResult.CreateResult(WeiXinHttpHelper.GetString(url))); }
/// <summary> /// 获取访问票据。 /// </summary> /// <param name="code">公众平台Code参数。</param> /// <returns>结果模型。</returns> public GetOAuthAccessTokenResult GetAccessToken(string code) { var url = _openAccountModel != null?string.Format("https://api.weixin.qq.com/sns/oauth2/component/access_token?appid={0}&code={1}&grant_type=authorization_code&component_appid={2}&component_access_token={3}", _accountModel.AppId, code, _openAccountModel.AppId, _openAccountModel.GetAccessToken()) : string.Format("https://api.weixin.qq.com/sns/oauth2/access_token?appid={0}&secret={1}&code={2}&grant_type=authorization_code", _accountModel.AppId, _accountModel.AppSecret, code); return(GetOAuthAccessTokenResult.CreateResult(WeiXinHttpHelper.GetString(url))); }