Perl
Perl
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 Perl Downloads
use chilkat();
$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";
$http = chilkat::CkHttp->new();
$success = 1;
$http->put_OAuth1(1);
$http->put_OAuthConsumerKey($consumerKey);
$http->put_OAuthConsumerSecret($consumerSecret);
$http->put_OAuthCallback("oob");
$resp = chilkat::CkHttpResponse->new();
$success = $http->HttpNoBody("GET",$requestTokenUrl,$resp);
if ($success == 0) {
print $http->lastErrorText() . "\r\n";
exit;
}
# If successful, the resp.BodyStr contains something like this:
# oauth_token=-Wa_KwAAAAAAxfEPAAABV8Qar4Q&oauth_token_secret=OfHY4tZBX2HK4f7yIw76WYdvnl99MVGB&oauth_callback_confirmed=true
print $resp->bodyStr() . "\r\n";
$hashTab = chilkat::CkHashtable->new();
$hashTab->AddQueryParams($resp->bodyStr());
$requestToken = $hashTab->lookupStr("oauth_token");
$requestTokenSecret = $hashTab->lookupStr("oauth_token_secret");
$http->put_OAuthTokenSecret($requestTokenSecret);
print "oauth_token = " . $requestToken . "\r\n";
print "oauth_token_secret = " . $requestTokenSecret . "\r\n";
# Save this request token for the next step..
$json = chilkat::CkJsonObject->new();
$json->AppendString("oauth_token",$requestToken);
$json->AppendString("oauth_token_secret",$requestTokenSecret);
$fac = chilkat::CkFileAccess->new();
$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";
$sbUrlForBrowser = chilkat::CkStringBuilder->new();
$sbUrlForBrowser->Append($authorizeUrl);
$sbUrlForBrowser->Append("?key=");
$sbUrlForBrowser->Append($consumerKey);
$sbUrlForBrowser->Append("&token=");
$sbUrlForBrowser->Append($requestToken);
$url = $sbUrlForBrowser->getAsString();
# Launch the system's default browser navigated to the URL.
$oauth2 = chilkat::CkOAuth2->new();
$success = $oauth2->LaunchBrowser($url);
if ($success == 0) {
print $oauth2->lastErrorText() . "\r\n";
exit;
}
# 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.
#