![]() |
Chilkat HOME Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi DLL Go Java Node.js Objective-C PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(PureBasic) Twitter - Application Only AuthenticationDemonstrates how to get a Twitter OAuth2 token for application-only authentication. This example is deprecated and no longer valid.
IncludeFile "CkHttpResponse.pb" IncludeFile "CkHttp.pb" IncludeFile "CkJsonObject.pb" IncludeFile "CkHttpRequest.pb" Procedure ChilkatExample() ; 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). consumerKey.s = "TWITTER_CONSUMER_KEY" consumerSecret.s = "TWITTER_CONSUMER_SECRET" http.i = CkHttp::ckCreate() If http.i = 0 Debug "Failed to create object." ProcedureReturn EndIf CkHttp::setCkBasicAuth(http, 1) CkHttp::setCkLogin(http, consumerKey) CkHttp::setCkPassword(http, consumerSecret) req.i = CkHttpRequest::ckCreate() If req.i = 0 Debug "Failed to create object." ProcedureReturn EndIf CkHttpRequest::ckAddParam(req,"grant_type","client_credentials") resp.i = CkHttp::ckPostUrlEncoded(http,"https://api.twitter.com/oauth2/token",req) If CkHttp::ckLastMethodSuccess(http) <> 1 Debug CkHttp::ckLastErrorText(http) CkHttp::ckDispose(http) CkHttpRequest::ckDispose(req) ProcedureReturn EndIf Debug "Response Status Code: " + Str(CkHttpResponse::ckStatusCode(resp)) If CkHttpResponse::ckStatusCode(resp) <> 200 Debug "Expected a 200 response status code for success." Debug CkHttpResponse::ckBodyStr(resp) CkHttp::ckDispose(http) CkHttpRequest::ckDispose(req) ProcedureReturn EndIf ; We should get a JSON response like this: ; { ; "token_type":"bearer", ; "access_token":"..." ; } json.i = CkJsonObject::ckCreate() If json.i = 0 Debug "Failed to create object." ProcedureReturn EndIf CkJsonObject::ckLoad(json,CkHttpResponse::ckBodyStr(resp)) Debug "Access token = " + CkJsonObject::ckStringOf(json,"access_token") CkHttpResponse::ckDispose(resp) CkHttp::ckDispose(http) CkHttpRequest::ckDispose(req) CkJsonObject::ckDispose(json) ProcedureReturn EndProcedure |
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.