![]() |
Chilkat HOME Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi DLL Go Java Node.js Objective-C PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Visual FoxPro) ETrade List AccountsReturns a list of E*TRADE accounts for the current user. Note: This example requires Chilkat v11.0.0 or greater. For more information, see https://apisb.etrade.com/docs/api/account/api-account-v1.html
LOCAL lnSuccess LOCAL loHttp LOCAL loJsonToken LOCAL lcSandboxUrl LOCAL lcLiveUrl LOCAL loResp LOCAL loXml LOCAL lnAccountId LOCAL lcAccountIdKey LOCAL lcAccountMode LOCAL lcAccountDesc LOCAL lcAccountName LOCAL lcAccountType LOCAL lcInstitutionType LOCAL lcAccountStatus LOCAL lnClosedDate LOCAL i LOCAL lnCount_i lnSuccess = 0 * This requires the Chilkat API to have been previously unlocked. * See Global Unlock Sample for sample code. loHttp = CreateObject('Chilkat.Http') loHttp.OAuth1 = 1 loHttp.OAuthVerifier = "" loHttp.OAuthConsumerKey = "ETRADE_CONSUMER_KEY" loHttp.OAuthConsumerSecret = "ETRADE_CONSUMER_SECRET" * Load the access token previously obtained via the OAuth1 Authorization loJsonToken = CreateObject('Chilkat.JsonObject') lnSuccess = loJsonToken.LoadFile("qa_data/tokens/etrade.json") IF (lnSuccess <> 1) THEN ? "Failed to load OAuth1 token" RELEASE loHttp RELEASE loJsonToken CANCEL ENDIF loHttp.OAuthToken = loJsonToken.StringOf("oauth_token") loHttp.OAuthTokenSecret = loJsonToken.StringOf("oauth_token_secret") lcSandboxUrl = "https://apisb.etrade.com/v1/accounts/list" lcLiveUrl = "https://api.etrade.com/v1/accounts/list" loResp = CreateObject('Chilkat.HttpResponse') lnSuccess = loHttp.HttpNoBody("GET",lcSandboxUrl,loResp) IF (lnSuccess = 0) THEN ? loHttp.LastErrorText RELEASE loHttp RELEASE loJsonToken RELEASE loResp CANCEL ENDIF * Make sure a successful response was received. IF (loResp.StatusCode >= 300) THEN ? loResp.StatusLine ? loResp.Header ? loResp.BodyStr RELEASE loHttp RELEASE loJsonToken RELEASE loResp CANCEL ENDIF IF (loResp.StatusCode = 204) THEN ? "No records available." RELEASE loHttp RELEASE loJsonToken RELEASE loResp CANCEL ENDIF * 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> loXml = CreateObject('Chilkat.Xml') loXml.LoadXml(loResp.BodyStr) ? loXml.GetXml() i = 0 lnCount_i = loXml.NumChildrenHavingTag("Accounts|Account") DO WHILE i < lnCount_i loXml.I = i lnAccountId = loXml.GetChildIntValue("Accounts|Account[i]|accountId") lcAccountIdKey = loXml.GetChildContent("Accounts|Account[i]|accountIdKey") lcAccountMode = loXml.GetChildContent("Accounts|Account[i]|accountMode") lcAccountDesc = loXml.GetChildContent("Accounts|Account[i]|accountDesc") lcAccountName = loXml.GetChildContent("Accounts|Account[i]|accountName") lcAccountType = loXml.GetChildContent("Accounts|Account[i]|accountType") lcInstitutionType = loXml.GetChildContent("Accounts|Account[i]|institutionType") lcAccountStatus = loXml.GetChildContent("Accounts|Account[i]|accountStatus") lnClosedDate = loXml.GetChildIntValue("Accounts|Account[i]|closedDate") i = i + 1 ENDDO ? "Success." RELEASE loHttp RELEASE loJsonToken RELEASE loResp RELEASE loXml |
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.