コード例 #1
0
 private static FormUrlEncodedContent CreateRequest(AuthenticationApiRequest request)
 {
     var requestData = new Dictionary<string, string>
     {
         {"client_id", request.ClientId},
         {"client_secret", request.ClientSecretKey},
         {"grant_type", "authorization_code"},
         {"code", request.AuthorizationCode}
     };
     var content = new FormUrlEncodedContent(requestData);
     return content;
 }
コード例 #2
0
        public AuthenticationDetail GetAccessToken(AuthenticationApiRequest request)
        {
            using (var client = _httpClientFactory.Create(_baseUrl))
            {
                client.BaseAddress = _baseUrl;
                client.DefaultRequestHeaders.Add("Api-Key", request.ApiKey);

                var requestContent = CreateRequest(request);
                var response = client.PostAsync("v7.0/oauth2/access_token/", requestContent).Result;

                if (response.IsSuccessStatusCode)
                {
                    var responseData = response.Content.ReadAsAsync<dynamic>().Result;
                    var authorizationData = Map(responseData);

                    return authorizationData;
                }

                throw new HttpRequestException(string.Format("Http Status:{0}| Reason:{1}", response.StatusCode,
                    response.ReasonPhrase));

            }
        }