Ejemplo n.º 1
0
        /// <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);
        }
Ejemplo n.º 2
0
        /// <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);
        }
Ejemplo n.º 3
0
        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));
        }