PowerBuilder Requires Chilkat v11.0.0+
PowerBuilder
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 PowerBuilder Downloads
integer li_rc
integer li_Success
string ls_ConsumerKey
string ls_ConsumerSecret
oleobject loo_Http
oleobject loo_Req
oleobject loo_Resp
oleobject loo_Json
li_Success = 0
// 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).
ls_ConsumerKey = "TWITTER_CONSUMER_KEY"
ls_ConsumerSecret = "TWITTER_CONSUMER_SECRET"
loo_Http = create oleobject
li_rc = loo_Http.ConnectToNewObject("Chilkat.Http")
if li_rc < 0 then
destroy loo_Http
MessageBox("Error","Connecting to COM object failed")
return
end if
loo_Http.BasicAuth = 1
loo_Http.Login = ls_ConsumerKey
loo_Http.Password = ls_ConsumerSecret
loo_Req = create oleobject
li_rc = loo_Req.ConnectToNewObject("Chilkat.HttpRequest")
loo_Req.AddParam("grant_type","client_credentials")
loo_Req.HttpVerb = "POST"
loo_Req.ContentType = "application/x-www-form-urlencoded"
loo_Resp = create oleobject
li_rc = loo_Resp.ConnectToNewObject("Chilkat.HttpResponse")
li_Success = loo_Http.HttpReq("https://api.twitter.com/oauth2/token",loo_Req,loo_Resp)
if li_Success = 0 then
Write-Debug loo_Http.LastErrorText
destroy loo_Http
destroy loo_Req
destroy loo_Resp
return
end if
Write-Debug "Response Status Code: " + string(loo_Resp.StatusCode)
if loo_Resp.StatusCode <> 200 then
Write-Debug "Expected a 200 response status code for success."
Write-Debug loo_Resp.BodyStr
destroy loo_Http
destroy loo_Req
destroy loo_Resp
return
end if
// We should get a JSON response like this:
// {
// "token_type":"bearer",
// "access_token":"..."
// }
loo_Json = create oleobject
li_rc = loo_Json.ConnectToNewObject("Chilkat.JsonObject")
loo_Json.Load(loo_Resp.BodyStr)
Write-Debug "Access token = " + loo_Json.StringOf("access_token")
destroy loo_Http
destroy loo_Req
destroy loo_Resp
destroy loo_Json