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 v1 List AccountsList ETrade accounts using the ETrade v1 API.
#import <CkoHttp.h> #import <CkoJsonObject.h> #import <NSString.h> #import <CkoXml.h> // This example 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 3-Legged Authorization examples Step1 and Step2. CkoJsonObject *json = [[CkoJsonObject alloc] init]; BOOL success = [json LoadFile: @"qa_data/tokens/etrade.json"]; if (success != YES) { NSLog(@"%@",@"Failed to load OAuth1 token"); return; } http.OAuthToken = [json StringOf: @"oauth_token"]; http.OAuthTokenSecret = [json StringOf: @"oauth_token_secret"]; // See the ETrade v1 API documentation HERE. NSString *respStr = [http QuickGetStr: @"https://apisb.etrade.com/v1/accounts/list"]; if (http.LastMethodSuccess != YES) { NSLog(@"%@",http.LastErrorText); return; } // A 200 status code indicates success. int statusCode = [http.LastStatus intValue]; NSLog(@"%@%d",@"statusCode = ",statusCode); // Use the following online tool to generate parsing code from sample XML: // Generate Parsing Code from XML // A sample XML response is shown below... CkoXml *xml = [[CkoXml alloc] init]; [xml LoadXml: respStr]; int i; int count_i; NSString *tagPath = 0; 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; i = 0; 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; } // <?xml version="1.0" encoding="UTF-8"?> // <AccountListResponse> // <Accounts> // <Account> // <accountId>84010429</accountId> // <accountIdKey>JIdOIAcSpwR1Jva7RQBraQ</accountIdKey> // <accountMode>MARGIN</accountMode> // <accountDesc>INDIVIDUAL</accountDesc> // <accountName>Individual Brokerage</accountName> // <accountType>INDIVIDUAL</accountType> // <institutionType>BROKERAGE</institutionType> // <accountStatus>ACTIVE</accountStatus> // <closedDate>0</closedDate> // </Account> // <Account> // <accountId>84010430</accountId> // <accountIdKey>JAAOIAcSpwR1Jva7RQBraQ</accountIdKey> // <accountMode>MARGIN</accountMode> // <accountDesc>INDIVIDUAL</accountDesc> // <accountName>Individual Brokerage</accountName> // <accountType>INDIVIDUAL</accountType> // <institutionType>BROKERAGE</institutionType> // <accountStatus>ACTIVE</accountStatus> // <closedDate>0</closedDate> // </Account> // </Accounts> // </AccountListResponse> |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.