Sample code for 30+ languages & platforms
AutoIt Requires Chilkat v11.0.0+

Twitter - Application Only Authentication

Demonstrates how to get a Twitter OAuth2 token for application-only authentication.

This example is deprecated and no longer valid.

Chilkat AutoIt Downloads

AutoIt
Local $bSuccess = False

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

;  Note: Define your Twitter apps at https://apps.twitter.com/

;  We're going to send an HTTPS POST that looks like this:

;  POST /oauth2/token HTTP/1.1
;  Host: api.twitter.com
;  User-Agent: My Twitter App v1.0.23
;  Authorization: Basic eHZ6MWV2RlM0d0VFUFRHRUZQSEJvZzpMOHFxOVBaeVJn
;                       NmllS0dFS2hab2xHQzB2SldMdzhpRUo4OERSZHlPZw==
;  Content-Type: application/x-www-form-urlencoded;charset=UTF-8
;  Content-Length: 29
;  Accept-Encoding: gzip
;  
;  grant_type=client_credentials

;  Update these values with your consumer key and secret (also known as API key and API secret).
Local $sConsumerKey = "TWITTER_CONSUMER_KEY"
Local $sConsumerSecret = "TWITTER_CONSUMER_SECRET"

$oHttp = ObjCreate("Chilkat.Http")

$oHttp.BasicAuth = True
$oHttp.Login = $sConsumerKey
$oHttp.Password = $sConsumerSecret

$oReq = ObjCreate("Chilkat.HttpRequest")
$oReq.AddParam "grant_type","client_credentials"

$oReq.HttpVerb = "POST"
$oReq.ContentType = "application/x-www-form-urlencoded"

$oResp = ObjCreate("Chilkat.HttpResponse")
$bSuccess = $oHttp.HttpReq("https://api.twitter.com/oauth2/token",$oReq,$oResp)
If ($bSuccess = False) Then
    ConsoleWrite($oHttp.LastErrorText & @CRLF)
    Exit
EndIf

ConsoleWrite("Response Status Code: " & $oResp.StatusCode & @CRLF)

If ($oResp.StatusCode <> 200) Then
    ConsoleWrite("Expected a 200 response status code for success." & @CRLF)
    ConsoleWrite($oResp.BodyStr & @CRLF)
    Exit
EndIf

;  We should get a JSON response like this:

;  {
;      "token_type":"bearer",
;      "access_token":"..."
;  }

$oJson = ObjCreate("Chilkat.JsonObject")
$oJson.Load($oResp.BodyStr)

ConsoleWrite("Access token = " & $oJson.StringOf("access_token") & @CRLF)