![]() |
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
(Delphi DLL) Twitter - Application Only AuthenticationDemonstrates how to get a Twitter OAuth2 token for application-only authentication. This example is deprecated and no longer valid.
uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Http, HttpRequest, HttpResponse, JsonObject; ... procedure TForm1.Button1Click(Sender: TObject); var consumerKey: PWideChar; consumerSecret: PWideChar; http: HCkHttp; req: HCkHttpRequest; resp: HCkHttpResponse; json: HCkJsonObject; begin // 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 := 'TWITTER_CONSUMER_KEY'; consumerSecret := 'TWITTER_CONSUMER_SECRET'; http := CkHttp_Create(); CkHttp_putBasicAuth(http,True); CkHttp_putLogin(http,consumerKey); CkHttp_putPassword(http,consumerSecret); req := CkHttpRequest_Create(); CkHttpRequest_AddParam(req,'grant_type','client_credentials'); resp := CkHttp_PostUrlEncoded(http,'https://api.twitter.com/oauth2/token',req); if (CkHttp_getLastMethodSuccess(http) <> True) then begin Memo1.Lines.Add(CkHttp__lastErrorText(http)); Exit; end; Memo1.Lines.Add('Response Status Code: ' + IntToStr(CkHttpResponse_getStatusCode(resp))); if (CkHttpResponse_getStatusCode(resp) <> 200) then begin Memo1.Lines.Add('Expected a 200 response status code for success.'); Memo1.Lines.Add(CkHttpResponse__bodyStr(resp)); Exit; end; // We should get a JSON response like this: // { // "token_type":"bearer", // "access_token":"..." // } json := CkJsonObject_Create(); CkJsonObject_Load(json,CkHttpResponse__bodyStr(resp)); Memo1.Lines.Add('Access token = ' + CkJsonObject__stringOf(json,'access_token')); CkHttpResponse_Dispose(resp); CkHttp_Dispose(http); CkHttpRequest_Dispose(req); CkJsonObject_Dispose(json); end; |
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.