Sample code for 30+ languages & platforms
Dart

ETrade v1 List Accounts

See more HTTP Misc Examples

List ETrade accounts using the ETrade v1 API.

Chilkat Dart Downloads

Dart
import 'package:chilkat/chilkat.dart';

void main() {
  // This example requires the Chilkat API to have been previously unlocked.
  // See Global Unlock Sample for sample code.

  final http = CkHttp();

  http.oAuth1 = true;
  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.
  final json = CkJsonObject();
  try {
    json.loadFile('qa_data/tokens/etrade.json');
  } on ChilkatException {
    print('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.

  final String respStr;
  try {
    respStr = http.quickGetStr('https://apisb.etrade.com/v1/accounts/list');
  } on ChilkatException catch (e) {
    print(e.lastErrorText);
    return;
  }

  // A 200 status code indicates success.
  final statusCode = http.lastStatus;
  print('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...

  final xml = CkXml();
  xml.loadXml(respStr);

  var i = 0;
  final tagPath = '';
  var accountId = 0;
  var accountIdKey = '';
  var accountMode = '';
  var accountDesc = '';
  var accountName = '';
  var accountType = '';
  var institutionType = '';
  var accountStatus = '';
  var closedDate = 0;

  i = 0;
  final countI = xml.numChildrenHavingTag('Accounts|Account');
  while (i < countI) {
    xml.i = i;
    accountId = xml.getChildIntValue('Accounts|Account[i]|accountId');
    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');
    i++;
  }

  // <?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>
}