Objective-C
Objective-C
ETrade v1 List Accounts
See more HTTP Misc Examples
List ETrade accounts using the ETrade v1 API.Chilkat Objective-C Downloads
#import <CkoHttp.h>
#import <CkoJsonObject.h>
#import <NSString.h>
#import <CkoXml.h>
BOOL success = NO;
// 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];
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>