Sample code for 30+ languages & platforms
C#

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 C# Downloads

C#
bool success = false;

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

string consumerKey = "ETRADE_CONSUMER_KEY";
string 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:
string requestTokenUrl = "https://apisb.etrade.com/oauth/request_token";

Chilkat.Http http = new Chilkat.Http();
success = true;

http.OAuth1 = true;
http.OAuthConsumerKey = consumerKey;
http.OAuthConsumerSecret = consumerSecret;
http.OAuthCallback = "oob";

Chilkat.HttpResponse resp = new Chilkat.HttpResponse();
success = http.HttpNoBody("GET",requestTokenUrl,resp);
if (success == false) {
    Debug.WriteLine(http.LastErrorText);
    return;
}

// If successful, the resp.BodyStr contains something like this:  
// oauth_token=-Wa_KwAAAAAAxfEPAAABV8Qar4Q&oauth_token_secret=OfHY4tZBX2HK4f7yIw76WYdvnl99MVGB&oauth_callback_confirmed=true
Debug.WriteLine(resp.BodyStr);

Chilkat.Hashtable hashTab = new Chilkat.Hashtable();
hashTab.AddQueryParams(resp.BodyStr);

string requestToken = hashTab.LookupStr("oauth_token");
string requestTokenSecret = hashTab.LookupStr("oauth_token_secret");
http.OAuthTokenSecret = requestTokenSecret;

Debug.WriteLine("oauth_token = " + requestToken);
Debug.WriteLine("oauth_token_secret = " + requestTokenSecret);

// Save this request token for the next step..
Chilkat.JsonObject json = new Chilkat.JsonObject();
json.AppendString("oauth_token",requestToken);
json.AppendString("oauth_token_secret",requestTokenSecret);

Chilkat.FileAccess fac = new Chilkat.FileAccess();
fac.WriteEntireTextFile("qa_data/tokens/etrade_request_token.json",json.Emit(),"utf-8",false);

// ---------------------------------------------------------------------------

// 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.
string authorizeUrl = "https://us.etrade.com/e/t/etws/authorize";

Chilkat.StringBuilder sbUrlForBrowser = new Chilkat.StringBuilder();
sbUrlForBrowser.Append(authorizeUrl);
sbUrlForBrowser.Append("?key=");
sbUrlForBrowser.Append(consumerKey);
sbUrlForBrowser.Append("&token=");
sbUrlForBrowser.Append(requestToken);
string url = sbUrlForBrowser.GetAsString();

// Launch the system's default browser navigated to the URL.
Chilkat.OAuth2 oauth2 = new Chilkat.OAuth2();
success = oauth2.LaunchBrowser(url);
if (success == false) {
    Debug.WriteLine(oauth2.LastErrorText);
    return;
}

// 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.

// image