Пример #1
0
        /// <summary>
        /// Create Object with <see cref="ParamsAccessToken"/>
        /// </summary>
        /// <param name="paramAccessToken">param access token object</param>
        public static Task <ClickUpApi> CreateAsync(ParamsAccessToken paramAccessToken)
        {
            var client  = new RestClient(_baseAddress);
            var request = new RestRequest("oauth/token", Method.POST);

            request.AddParameter("client_id", paramAccessToken.ClientId);
            request.AddParameter("client_secret", paramAccessToken.ClientSecret);
            request.AddParameter("code", paramAccessToken.Code);

            // execute the request
            var taskCompletionSource = new TaskCompletionSource <ClickUpApi>();
            var task = RestSharperHelper.ExecuteRequestAsync <ResponseAccessToken, ResponseError>(client, request)
                       .ContinueWith(responseTask => {
                ResponseGeneric <ResponseAccessToken, ResponseError> response = responseTask.Result;

                // Manage Response
                if (response.ResponseSuccess == null)
                {
                    throw new Exception(response.ResponseError.Err);
                }

                string accessToken = response.ResponseSuccess.AccessToken;

                taskCompletionSource.SetResult(new ClickUpApi(accessToken));
            });

            return(taskCompletionSource.Task);
        }
Пример #2
0
        /// <summary>
        /// Create Object with <see cref="ParamsAccessToken"/>
        /// </summary>
        /// <param name="paramAccessToken">param access token object</param>
        public static ClickUpApi Create(ParamsAccessToken paramAccessToken)
        {
            var client  = new RestClient(_baseAddress);
            var request = new RestRequest("oauth/token", Method.POST);

            request.AddParameter("client_id", paramAccessToken.ClientId);
            request.AddParameter("client_secret", paramAccessToken.ClientSecret);
            request.AddParameter("code", paramAccessToken.Code);

            // execute the request
            ResponseGeneric <ResponseAccessToken, ResponseError> response = RestSharperHelper.ExecuteRequest <ResponseAccessToken, ResponseError>(client, request);

            string accessToken;

            // Manage Response
            if (response.ResponseSuccess == null)
            {
                throw new Exception(response.ResponseError.Err);
            }

            accessToken = response.ResponseSuccess.AccessToken;

            return(new ClickUpApi(accessToken));
        }