コード例 #1
0
        private AuthResponse RequestAuthTokens(AuthInfo currentAuthInfo)
        {
            RestClient  authClient = new RestClient("https://api.tdameritrade.com/v1/oauth2/token");
            RestRequest request    = new RestRequest(Method.POST);

            request.AddParameter("grant_type", "refresh_token");
            request.AddParameter("refresh_token", currentAuthInfo.refresh_token);
            request.AddParameter("client_id", ConsumerKey);

            if (RefreshTokenNeedsUpdate(currentAuthInfo))
            {
                Log.Information("Requesting new REFRESH token");
                request.AddParameter("access_type", "offline");
            }
            else
            {
                Log.Information("Requesting new access token only");
            }
            IRestResponse response = TDClient.ExecuteRequest(authClient, request);

            return(JsonConvert.DeserializeObject <AuthResponse>(response.Content));
        }