Example #1
0
        public override OauthToken.TokenData GetToken()
        {
            IDictionary <string, string> tokenParams = new Dictionary <string, string>
            {
                { "client_id", clientId },
                { "client_secret", clientSecret },
                { "authorize_type", "authorization_code" },
                { "code", Code }
            };
            DefaultHttpClient defaultHttpClient = new DefaultHttpClient();
            string            result            = defaultHttpClient.Send(this.GetTokenUrl(), tokenParams, null, null);

            Console.WriteLine("t result *******************" + result);

            OauthToken oAuthToken = JsonConvert.DeserializeObject <OauthToken>(result);

            if (oAuthToken.Data == null)
            {
                TokenData tokenData = new TokenData
                {
                    Message = result
                };
                return(tokenData);
            }
            string    data      = oAuthToken.Data.ToString();
            TokenData toKenData = JsonConvert.DeserializeObject <TokenData>(data);

            return(toKenData);
        }
Example #2
0
        private TokenData GetNewTokenData()
        {
            TokenData tokenData = null;
            IDictionary <string, object> tokenParams = new Dictionary <string, object>
            {
                { "client_id", _ClientId },
                { "client_secret", _ClientSecret },
                { "authorize_type", "silent" },
                { "grant_id", _GrantId }
            };
            DefaultHttpClient defaultHttpClient = new DefaultHttpClient();
            string            result            = defaultHttpClient.Send(this.GetTokenUrl(), tokenParams, null, null);
            OauthToken        oAuthToken        = JsonConvert.DeserializeObject <OauthToken>(result);

            if (oAuthToken.Data == null)
            {
                tokenData = new TokenData
                {
                    Message = result
                };
                return(tokenData);
            }
            string data = oAuthToken.Data.ToString();

            tokenData = JsonConvert.DeserializeObject <TokenData>(data);

            // Token添加缓存
            if (cache.Contains(this._ClientId + "_" + this._GrantId))
            {
                cache.Remove(this._ClientId + "_" + this._GrantId);
            }
            cache.Add(this._ClientId + "_" + this._GrantId, tokenData, tokenData.ExpiresTime.AddMinutes(-5));

            return(tokenData);
        }
        string IYouZanClient.Invoke(IAPI api, IAuth auth, IDictionary <string, string> headers, List <KeyValuePair <string, string> > files)
        {
            {
                string url = null;
                if (api != null)
                {
                    OAuthEnum oAuth = api.GetOAuthType();
                    switch (oAuth)
                    {
                    case OAuthEnum.TOKEN:
                        url = BuildUrl(api, auth);
                        break;

                    case OAuthEnum.SIGN:
                        break;

                    case OAuthEnum.DIRECT:
                        url = BuildUrl(api, auth);
                        break;
                    }
                    var        method    = api.GetHttpMethod();
                    IApiParams apiParams = api.GetAPIParams();
                    IDictionary <string, string> requestParams = apiParams.ToParams();
                    IDictionary <string, string> header        = api.GetHeaders();
                    string result = defaultHttpClient.Send(url, requestParams, header, files);
                    return(result);
                }
                return(null);
            }
        }
        string IYouZanClient.Invoke(IAPI api, IAuth auth, IDictionary <string, string> headers, List <KeyValuePair <string, string> > files)
        {
            string url = null;

            if (api != null)
            {
                OAuthEnum oAuth = api.GetOAuthType();
                switch (oAuth)
                {
                case OAuthEnum.TOKEN:
                    url = BuildUrl(api, auth);
                    break;

                case OAuthEnum.SIGN:
                    break;

                case OAuthEnum.DIRECT:
                    url = BuildUrl(api, auth);
                    break;
                }
                var        method    = api.GetHttpMethod();
                IApiParams apiParams = api.GetAPIParams();
                IDictionary <string, object> requestParams = apiParams.ToParams();
                IDictionary <string, string> header        = api.GetHeaders();
                string result = defaultHttpClient.Send(url, requestParams, header, files);
                if (YouZanConfig.SaveApiLogToDB)
                {
                    YouZanLogger log = new YouZanLogger
                    {
                        ApiName      = api.GetName(),
                        ApiVersion   = api.GetVersion(),
                        ApiMethod    = api.GetHttpMethod(),
                        AuthType     = oAuth.ToString(),
                        RequestUrl   = url,
                        PostData     = JsonConvert.SerializeObject(requestParams),
                        Header       = JsonConvert.SerializeObject(header),
                        ResponseData = result,
                        ClientId     = api.GetClientId(),
                        GrantId      = api.GetGrantId()
                    };
                    Task.Run(log.Save);
                }
                return(result);
            }
            return(null);
        }
Example #5
0
        internal TokenData GetNewTokenData()
        {
            TokenData tokenData = null;
            IDictionary <string, object> tokenParams = new ConcurrentDictionary <string, object>();

            tokenParams.Add("client_id", _ClientId);
            tokenParams.Add("client_secret", _ClientSecret);
            tokenParams.Add("authorize_type", "silent");
            tokenParams.Add("grant_id", _GrantId);
            DefaultHttpClient defaultHttpClient = new DefaultHttpClient();
            string            result            = defaultHttpClient.Send(this.GetTokenUrl(), tokenParams, null, null);
            OauthToken        oAuthToken        = JsonConvert.DeserializeObject <OauthToken>(result);

            if (oAuthToken.Data == null)
            {
                tokenData = new TokenData
                {
                    Message = result
                };
                return(tokenData);
            }
            string data = oAuthToken.Data.ToString();

            tokenData = JsonConvert.DeserializeObject <TokenData>(data);

            // Token添加缓存
            if (!YouZanConfig.SaveAccessTokenToDB)
            {
                if (cache.Contains(this._CacheKey))
                {
                    cache.Remove(this._CacheKey);
                }
                cache.Add(this._CacheKey, tokenData, tokenData.ExpiresTime.AddMinutes(-5));
            }

            return(tokenData);
        }