![]() |
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
(SQL Server) Twitter - Application Only AuthenticationDemonstrates how to get a Twitter OAuth2 token for application-only authentication. This example is deprecated and no longer valid. Note: This example requires Chilkat v11.0.0 or greater.
-- Important: See this note about string length limitations for strings returned by sp_OAMethod calls. -- CREATE PROCEDURE ChilkatSample AS BEGIN DECLARE @hr int DECLARE @iTmp0 int -- Important: Do not use nvarchar(max). See the warning about using nvarchar(max). DECLARE @sTmp0 nvarchar(4000) DECLARE @success int SELECT @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). DECLARE @consumerKey nvarchar(4000) SELECT @consumerKey = 'TWITTER_CONSUMER_KEY' DECLARE @consumerSecret nvarchar(4000) SELECT @consumerSecret = 'TWITTER_CONSUMER_SECRET' DECLARE @http int EXEC @hr = sp_OACreate 'Chilkat.Http', @http OUT IF @hr <> 0 BEGIN PRINT 'Failed to create ActiveX component' RETURN END EXEC sp_OASetProperty @http, 'BasicAuth', 1 EXEC sp_OASetProperty @http, 'Login', @consumerKey EXEC sp_OASetProperty @http, 'Password', @consumerSecret DECLARE @req int EXEC @hr = sp_OACreate 'Chilkat.HttpRequest', @req OUT EXEC sp_OAMethod @req, 'AddParam', NULL, 'grant_type', 'client_credentials' EXEC sp_OASetProperty @req, 'HttpVerb', 'POST' EXEC sp_OASetProperty @req, 'ContentType', 'application/x-www-form-urlencoded' DECLARE @resp int EXEC @hr = sp_OACreate 'Chilkat.HttpResponse', @resp OUT EXEC sp_OAMethod @http, 'HttpReq', @success OUT, 'https://api.twitter.com/oauth2/token', @req, @resp IF @success = 0 BEGIN EXEC sp_OAGetProperty @http, 'LastErrorText', @sTmp0 OUT PRINT @sTmp0 EXEC @hr = sp_OADestroy @http EXEC @hr = sp_OADestroy @req EXEC @hr = sp_OADestroy @resp RETURN END EXEC sp_OAGetProperty @resp, 'StatusCode', @iTmp0 OUT PRINT 'Response Status Code: ' + @iTmp0 EXEC sp_OAGetProperty @resp, 'StatusCode', @iTmp0 OUT IF @iTmp0 <> 200 BEGIN PRINT 'Expected a 200 response status code for success.' EXEC sp_OAGetProperty @resp, 'BodyStr', @sTmp0 OUT PRINT @sTmp0 EXEC @hr = sp_OADestroy @http EXEC @hr = sp_OADestroy @req EXEC @hr = sp_OADestroy @resp RETURN END -- We should get a JSON response like this: -- { -- "token_type":"bearer", -- "access_token":"..." -- } DECLARE @json int EXEC @hr = sp_OACreate 'Chilkat.JsonObject', @json OUT EXEC sp_OAGetProperty @resp, 'BodyStr', @sTmp0 OUT EXEC sp_OAMethod @json, 'Load', @success OUT, @sTmp0 EXEC sp_OAMethod @json, 'StringOf', @sTmp0 OUT, 'access_token' PRINT 'Access token = ' + @sTmp0 EXEC @hr = sp_OADestroy @http EXEC @hr = sp_OADestroy @req EXEC @hr = sp_OADestroy @resp EXEC @hr = sp_OADestroy @json END GO |
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.