Sample code for 30+ languages & platforms
Ruby

ETrade v1 List Accounts

See more HTTP Misc Examples

List ETrade accounts using the ETrade v1 API.

Chilkat Ruby Downloads

Ruby
require 'chilkat'

success = false

# This example requires the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.

http = Chilkat::CkHttp.new()

http.put_OAuth1(true)
http.put_OAuthVerifier("")
http.put_OAuthConsumerKey("ETRADE_CONSUMER_KEY")
http.put_OAuthConsumerSecret("ETRADE_CONSUMER_SECRET")

# Load the access token previously obtained via the OAuth1 3-Legged Authorization examples Step1 and Step2.
json = Chilkat::CkJsonObject.new()
success = json.LoadFile("qa_data/tokens/etrade.json")
if (success != true)
    print "Failed to load OAuth1 token" + "\n";
    exit
end

http.put_OAuthToken(json.stringOf("oauth_token"))
http.put_OAuthTokenSecret(json.stringOf("oauth_token_secret"))

# See the ETrade v1 API documentation HERE.

respStr = http.quickGetStr("https://apisb.etrade.com/v1/accounts/list")
if (http.get_LastMethodSuccess() != true)
    print http.lastErrorText() + "\n";
    exit
end

# A 200 status code indicates success.
statusCode = http.get_LastStatus()
print "statusCode = " + statusCode.to_s() + "\n";

# Use the following online tool to generate parsing code from sample XML: 
# Generate Parsing Code from XML

# A sample XML response is shown below...

xml = Chilkat::CkXml.new()
xml.LoadXml(respStr)

i = 0
count_i = xml.NumChildrenHavingTag("Accounts|Account")
while i < count_i
    xml.put_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 = i + 1
end

# <?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>