Chilkat HOME Android™ Classic ASP C C++ C# Mono C# .NET Core C# C# UWP/WinRT DataFlex Delphi ActiveX Delphi DLL Visual FoxPro Java Lianja MFC Objective-C Perl PHP ActiveX PHP Extension PowerBuilder PowerShell PureBasic CkPython Chilkat2-Python Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ Visual Basic 6.0 VB.NET VB.NET UWP/WinRT VBScript Xojo Plugin Node.js Excel Go
(Excel) ETrade v1 View PortfolioGet portfolio information for a selected brokerage account.
' This example requires the Chilkat API to have been previously unlocked. ' See Global Unlock Sample for sample code. Dim http As Chilkat.Http Set http = Chilkat.NewHttp 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. Dim json As Chilkat.JsonObject Set json = Chilkat.NewJsonObject success = json.LoadFile("qa_data/tokens/etrade.json") If (success <> True) Then Debug.Print "Failed to load OAuth1 token" Exit Sub End If http.OAuthToken = json.StringOf("oauth_token") http.OAuthTokenSecret = json.StringOf("oauth_token_secret") ' See the ETrade v1 API documentation HERE. success = http.SetUrlVar("accountIdKey","vsnhtF7d9jXxBy6HyaAC4vQ") respStr = http.QuickGetStr("https://apisb.etrade.com/v1/accounts/{$accountIdKey}/portfolio") If (http.LastMethodSuccess <> True) Then Debug.Print http.LastErrorText Exit Sub End If ' A 200 status code indicates success. statusCode = http.LastStatus Debug.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... Dim xml As Chilkat.Xml Set xml = Chilkat.NewXml success = xml.LoadXml(respStr) accountId = xml.GetChildIntValue("AccountPortfolio|accountId") i = 0 count_i = xml.NumChildrenHavingTag("AccountPortfolio|Position") Do While i < count_i xml.I = i positionId = xml.GetChildContent("AccountPortfolio|Position[i]|positionId") expiryDay = xml.GetChildIntValue("AccountPortfolio|Position[i]|Product|expiryDay") expiryMonth = xml.GetChildIntValue("AccountPortfolio|Position[i]|Product|expiryMonth") expiryYear = xml.GetChildIntValue("AccountPortfolio|Position[i]|Product|expiryYear") securityType = xml.GetChildContent("AccountPortfolio|Position[i]|Product|securityType") strikePrice = xml.GetChildIntValue("AccountPortfolio|Position[i]|Product|strikePrice") symbol = xml.GetChildContent("AccountPortfolio|Position[i]|Product|symbol") symbolDescription = xml.GetChildContent("AccountPortfolio|Position[i]|symbolDescription") dateAcquired = xml.GetChildIntValue("AccountPortfolio|Position[i]|dateAcquired") pricePaid = xml.GetChildIntValue("AccountPortfolio|Position[i]|pricePaid") commissions = xml.GetChildIntValue("AccountPortfolio|Position[i]|commissions") otherFees = xml.GetChildIntValue("AccountPortfolio|Position[i]|otherFees") quantity = xml.GetChildIntValue("AccountPortfolio|Position[i]|quantity") positionIndicator = xml.GetChildContent("AccountPortfolio|Position[i]|positionIndicator") positionType = xml.GetChildContent("AccountPortfolio|Position[i]|positionType") daysGain = xml.GetChildContent("AccountPortfolio|Position[i]|daysGain") daysGainPct = xml.GetChildContent("AccountPortfolio|Position[i]|daysGainPct") marketValue = xml.GetChildContent("AccountPortfolio|Position[i]|marketValue") totalCost = xml.GetChildIntValue("AccountPortfolio|Position[i]|totalCost") totalGain = xml.GetChildContent("AccountPortfolio|Position[i]|totalGain") totalGainPct = xml.GetChildIntValue("AccountPortfolio|Position[i]|totalGainPct") pctOfPortfolio = xml.GetChildContent("AccountPortfolio|Position[i]|pctOfPortfolio") costPerShare = xml.GetChildIntValue("AccountPortfolio|Position[i]|costPerShare") todayCommissions = xml.GetChildIntValue("AccountPortfolio|Position[i]|todayCommissions") todayFees = xml.GetChildIntValue("AccountPortfolio|Position[i]|todayFees") todayPricePaid = xml.GetChildIntValue("AccountPortfolio|Position[i]|todayPricePaid") todayQuantity = xml.GetChildIntValue("AccountPortfolio|Position[i]|todayQuantity") adjPrevClose = xml.GetChildContent("AccountPortfolio|Position[i]|adjPrevClose") change = xml.GetChildContent("AccountPortfolio|Position[i]|Quick|change") changePct = xml.GetChildContent("AccountPortfolio|Position[i]|Quick|changePct") lastTrade = xml.GetChildContent("AccountPortfolio|Position[i]|Quick|lastTrade") lastTradeTime = xml.GetChildIntValue("AccountPortfolio|Position[i]|Quick|lastTradeTime") quoteStatus = xml.GetChildContent("AccountPortfolio|Position[i]|Quick|quoteStatus") volume = xml.GetChildIntValue("AccountPortfolio|Position[i]|Quick|volume") lotsDetails = xml.GetChildContent("AccountPortfolio|Position[i]|lotsDetails") quoteDetails = xml.GetChildContent("AccountPortfolio|Position[i]|quoteDetails") i = i + 1 Loop totalPages = xml.GetChildIntValue("AccountPortfolio|totalPages") ' <?xml version="1.0" encoding="UTF-8"?> ' <PortfolioResponse> ' <AccountPortfolio> ' <accountId>83554788</accountId> ' <Position> ' <positionId>10087531</positionId> ' <Product> ' <expiryDay>0</expiryDay> ' <expiryMonth>0</expiryMonth> ' <expiryYear>0</expiryYear> ' <securityType>EQ</securityType> ' <strikePrice>0</strikePrice> ' <symbol>A</symbol> ' </Product> ' <symbolDescription>A</symbolDescription> ' <dateAcquired>-68400000</dateAcquired> ' <pricePaid>0</pricePaid> ' <commissions>0</commissions> ' <otherFees>0</otherFees> ' <quantity>-120</quantity> ' <positionIndicator>TYPE2</positionIndicator> ' <positionType>SHORT</positionType> ' <daysGain>190.80</daysGain> ' <daysGainPct>2.4472</daysGainPct> ' <marketValue>-7605.60</marketValue> ' <totalCost>0</totalCost> ' <totalGain>-7605.60</totalGain> ' <totalGainPct>0</totalGainPct> ' <pctOfPortfolio>-0.0008</pctOfPortfolio> ' <costPerShare>0</costPerShare> ' <todayCommissions>0</todayCommissions> ' <todayFees>0</todayFees> ' <todayPricePaid>0</todayPricePaid> ' <todayQuantity>0</todayQuantity> ' <adjPrevClose>64.970000</adjPrevClose> ' <Quick> ' <change>-1.59</change> ' <changePct>-2.4472</changePct> ' <lastTrade>63.38</lastTrade> ' <lastTradeTime>1529429280</lastTradeTime> ' <quoteStatus>DELAYED</quoteStatus> ' <volume>2431617</volume> ' </Quick> ' <lotsDetails>https://api.etrade.com/v1/accounts/JDIozUumZpHdgbIjMnAAHQ/portfolio/10087531</lotsDetails> ' <quoteDetails>https://api.etrade.com/v1/market/quote/A</quoteDetails> ' </Position> ' <Position> ' <positionId>140357348131</positionId> ' <Product> ' <expiryDay>0</expiryDay> ' <expiryMonth>0</expiryMonth> ' <expiryYear>0</expiryYear> ' <securityType>EQ</securityType> ' <strikePrice>0</strikePrice> ' <symbol>TWTR</symbol> ' </Product> ' <symbolDescription>TWTR</symbolDescription> ' <dateAcquired>-68400000</dateAcquired> ' <pricePaid>0</pricePaid> ' <commissions>0</commissions> ' <otherFees>0</otherFees> ' <quantity>3</quantity> ' <positionIndicator>TYPE2</positionIndicator> ' <positionType>LONG</positionType> ' <daysGain>-3.915</daysGain> ' <daysGainPct>-2.8369</daysGainPct> ' <marketValue>134.085</marketValue> ' <totalCost>0</totalCost> ' <totalGain>134.085</totalGain> ' <totalGainPct>0</totalGainPct> ' <pctOfPortfolio>0.0235</pctOfPortfolio> ' <costPerShare>0</costPerShare> ' <todayCommissions>0</todayCommissions> ' <todayFees>0</todayFees> ' <todayPricePaid>0</todayPricePaid> ' <todayQuantity>0</todayQuantity> ' <adjPrevClose>46.000000</adjPrevClose> ' <Quick> ' <change>-1.305</change> ' <changePct>-2.8369</changePct> ' <lastTrade>44.695</lastTrade> ' <lastTradeTime>1529429280</lastTradeTime> ' <quoteStatus>DELAYED</quoteStatus> ' <volume>26582141</volume> ' </Quick> ' <lotsDetails>https://api.etrade.com/v1/accounts/yIFaUoJ81qyAhgxLWRQ42g/portfolio/140357348131</lotsDetails> ' <quoteDetails>https://api.etrade.com/v1/market/quote/TWTR</quoteDetails> ' </Position> ' <totalPages>1</totalPages> ' </AccountPortfolio> ' </PortfolioResponse> |
© 2000-2022 Chilkat Software, Inc. All Rights Reserved.