VBScript
VBScript
ETrade OAuth1 Authorization (3-legged) Step 1
See more ETrade Examples
Demonstrates the first step in 3-legged OAuth1 authorization for the ETrade REST API. This example sends an HTTP request to the "request token URL" to get a request token that begins the OAuth1 process. (See https://apisb.etrade.com/docs/api/authorization/request_token.html )This example uses the sandbox request token URL. The live request token URL would be "https://api.etrade.com/oauth/request_token".
Chilkat VBScript Downloads
Dim fso, outFile
Set fso = CreateObject("Scripting.FileSystemObject")
'Create a Unicode (utf-16) output text file.
Set outFile = fso.CreateTextFile("output.txt", True, True)
success = 0
' This requires the Chilkat API to have been previously unlocked.
' See Global Unlock Sample for sample code.
consumerKey = "ETRADE_CONSUMER_KEY"
consumerSecret = "ETRADE_CONSUMER_SECRET"
' Note: This example uses the sandbox request token URL.
' The live Get Request Token Request URL is:
' https://api.etrade.com/oauth/request_token
' This example will use the Sandbox Token Request URL:
requestTokenUrl = "https://apisb.etrade.com/oauth/request_token"
set http = CreateObject("Chilkat.Http")
success = 1
http.OAuth1 = 1
http.OAuthConsumerKey = consumerKey
http.OAuthConsumerSecret = consumerSecret
http.OAuthCallback = "oob"
set resp = CreateObject("Chilkat.HttpResponse")
success = http.HttpNoBody("GET",requestTokenUrl,resp)
If (success = 0) Then
outFile.WriteLine(http.LastErrorText)
WScript.Quit
End If
' If successful, the resp.BodyStr contains something like this:
' oauth_token=-Wa_KwAAAAAAxfEPAAABV8Qar4Q&oauth_token_secret=OfHY4tZBX2HK4f7yIw76WYdvnl99MVGB&oauth_callback_confirmed=true
outFile.WriteLine(resp.BodyStr)
set hashTab = CreateObject("Chilkat.Hashtable")
success = hashTab.AddQueryParams(resp.BodyStr)
requestToken = hashTab.LookupStr("oauth_token")
requestTokenSecret = hashTab.LookupStr("oauth_token_secret")
http.OAuthTokenSecret = requestTokenSecret
outFile.WriteLine("oauth_token = " & requestToken)
outFile.WriteLine("oauth_token_secret = " & requestTokenSecret)
' Save this request token for the next step..
set json = CreateObject("Chilkat.JsonObject")
success = json.AppendString("oauth_token",requestToken)
success = json.AppendString("oauth_token_secret",requestTokenSecret)
set fac = CreateObject("Chilkat.FileAccess")
success = fac.WriteEntireTextFile("qa_data/tokens/etrade_request_token.json",json.Emit(),"utf-8",0)
' ---------------------------------------------------------------------------
' The next step is to form a URL to send to the authorizeUrl
' This is an HTTP GET that we load into a popup browser.
authorizeUrl = "https://us.etrade.com/e/t/etws/authorize"
set sbUrlForBrowser = CreateObject("Chilkat.StringBuilder")
success = sbUrlForBrowser.Append(authorizeUrl)
success = sbUrlForBrowser.Append("?key=")
success = sbUrlForBrowser.Append(consumerKey)
success = sbUrlForBrowser.Append("&token=")
success = sbUrlForBrowser.Append(requestToken)
url = sbUrlForBrowser.GetAsString()
' Launch the system's default browser navigated to the URL.
set oauth2 = CreateObject("Chilkat.OAuth2")
success = oauth2.LaunchBrowser(url)
If (success = 0) Then
outFile.WriteLine(oauth2.LastErrorText)
WScript.Quit
End If
' The ETrade account owner will login and grant access to the application.
' A short verifier code will be displayed (as shown below), and this must be copy-and-pasted
' into the next step to Complete the 3-legged OAuth1 Authorization
' Note: The browser will NOT automatically direct you to the next page.
' You should copy the verifier code, close the browser, and then paste the verifier
' code into your application.
'
outFile.Close