Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Objective-C) ETrade List AccountsReturns a list of E*TRADE accounts for the current user. For more information, see https://apisb.etrade.com/docs/api/account/api-account-v1.html
#import <CkoHttp.h> #import <CkoJsonObject.h> #import <NSString.h> #import <CkoHttpResponse.h> #import <CkoXml.h> // This requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. CkoHttp *http = [[CkoHttp alloc] init]; http.OAuth1 = YES; http.OAuthVerifier = @""; http.OAuthConsumerKey = @"ETRADE_CONSUMER_KEY"; http.OAuthConsumerSecret = @"ETRADE_CONSUMER_SECRET"; // Load the access token previously obtained via the OAuth1 Authorization CkoJsonObject *jsonToken = [[CkoJsonObject alloc] init]; BOOL success = [jsonToken LoadFile: @"qa_data/tokens/etrade.json"]; if (success != YES) { NSLog(@"%@",@"Failed to load OAuth1 token"); return; } http.OAuthToken = [jsonToken StringOf: @"oauth_token"]; http.OAuthTokenSecret = [jsonToken StringOf: @"oauth_token_secret"]; NSString *sandboxUrl = @"https://apisb.etrade.com/v1/accounts/list"; NSString *liveUrl = @"https://api.etrade.com/v1/accounts/list"; CkoHttpResponse *resp = [http QuickGetObj: sandboxUrl]; if (http.LastMethodSuccess != YES) { NSLog(@"%@",http.LastErrorText); return; } // Make sure a successful response was received. if ([resp.StatusCode intValue] >= 300) { NSLog(@"%@",resp.StatusLine); NSLog(@"%@",resp.Header); NSLog(@"%@",resp.BodyStr); return; } if ([resp.StatusCode intValue] == 204) { NSLog(@"%@",@"No records available."); return; } // Sample XML response: // Use this online tool to generate parsing code from sample XML: // Generate Parsing Code from XML // <?xml version="1.0" encoding="UTF-8" standalone="yes"?> // <AccountListResponse> // <Accounts> // <Account> // <accountId>82314598</accountId> // <accountIdKey>dBZOKt9xDrtRSAOl4MSiiA</accountIdKey> // <accountMode>IRA</accountMode> // <accountDesc>Brokerage</accountDesc> // <accountName>NickName-1</accountName> // <accountType>MARGIN</accountType> // <institutionType>BROKERAGE</institutionType> // <accountStatus>ACTIVE</accountStatus> // <closedDate>0</closedDate> // </Account> // <Account> // <accountId>58315636</accountId> // <accountIdKey>vQMsebA1H5WltUfDkJP48g</accountIdKey> // <accountMode>BROKERAGE</accountMode> // <accountDesc>Complete Savings</accountDesc> // <accountName>NickName-2</accountName> // <accountType>INDIVIDUAL</accountType> // <institutionType>BROKERAGE</institutionType> // <accountStatus>ACTIVE</accountStatus> // <closedDate>0</closedDate> // </Account> // <Account> // <accountId>70700418</accountId> // <accountIdKey>6_Dpy0rmuQ9cu9IbTfvF2A</accountIdKey> // <accountMode>CASH</accountMode> // <accountDesc>INDIVIDUAL</accountDesc> // <accountName>NickName-3</accountName> // <accountType>INDIVIDUAL</accountType> // <institutionType>BROKERAGE</institutionType> // <accountStatus>ACTIVE</accountStatus> // <closedDate>0</closedDate> // </Account> // <Account> // <accountId>83515143</accountId> // <accountIdKey>xj1Dc18FTqWPqkEEVUr5rw</accountIdKey> // <accountMode>CASH</accountMode> // <accountDesc>INDIVIDUAL</accountDesc> // <accountName/> // <accountType>CASH</accountType> // <institutionType>BROKERAGE</institutionType> // <accountStatus>CLOSED</accountStatus> // <closedDate>1521027780</closedDate> // // </Account> // </Accounts> // </AccountListResponse> CkoXml *xml = [[CkoXml alloc] init]; [xml LoadXml: resp.BodyStr]; NSLog(@"%@",[xml GetXml]); int accountId; NSString *accountIdKey = 0; NSString *accountMode = 0; NSString *accountDesc = 0; NSString *accountName = 0; NSString *accountType = 0; NSString *institutionType = 0; NSString *accountStatus = 0; int closedDate; int i = 0; int count_i = [[xml NumChildrenHavingTag: @"Accounts|Account"] intValue]; while (i < count_i) { xml.I = [NSNumber numberWithInt: i]; accountId = [[xml GetChildIntValue: @"Accounts|Account[i]|accountId"] intValue]; accountIdKey = [xml GetChildContent: @"Accounts|Account[i]|accountIdKey"]; accountMode = [xml GetChildContent: @"Accounts|Account[i]|accountMode"]; accountDesc = [xml GetChildContent: @"Accounts|Account[i]|accountDesc"]; accountName = [xml GetChildContent: @"Accounts|Account[i]|accountName"]; accountType = [xml GetChildContent: @"Accounts|Account[i]|accountType"]; institutionType = [xml GetChildContent: @"Accounts|Account[i]|institutionType"]; accountStatus = [xml GetChildContent: @"Accounts|Account[i]|accountStatus"]; closedDate = [[xml GetChildIntValue: @"Accounts|Account[i]|closedDate"] intValue]; i = i + 1; } NSLog(@"%@",@"Success."); |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.