示例#1
0
        /// <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));
        }
示例#2
0
        /// <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);
        }
示例#3
0
        /// <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)));
        }
示例#4
0
        /// <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)));
        }