Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(SQL Server) Twitter Simple Tweet (Post Status Update)Demonstrates sending a simple Twitter status update (tweet).
-- 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) -- It requires the Chilkat API to have been previously unlocked. -- See Global Unlock Sample for sample code. -- ---------------------------------------------------------------------- -- This initial setup, which involves setting the OAuth1 properties and connecting -- to api.twitter.com, is only required once at the beginning. Once connected, the same -- object instance may be re-used, and if necessary, it will automatically reconnect -- as needed. -- Assume we've previously obtained an access token and saved it to a JSON file.. DECLARE @json int -- Use "Chilkat_9_5_0.JsonObject" for versions of Chilkat < 10.0.0 EXEC @hr = sp_OACreate 'Chilkat.JsonObject', @json OUT IF @hr <> 0 BEGIN PRINT 'Failed to create ActiveX component' RETURN END DECLARE @success int EXEC sp_OAMethod @json, 'LoadFile', @success OUT, 'qa_data/tokens/twitter.json' DECLARE @rest int -- Use "Chilkat_9_5_0.Rest" for versions of Chilkat < 10.0.0 EXEC @hr = sp_OACreate 'Chilkat.Rest', @rest OUT DECLARE @oauth1 int -- Use "Chilkat_9_5_0.OAuth1" for versions of Chilkat < 10.0.0 EXEC @hr = sp_OACreate 'Chilkat.OAuth1', @oauth1 OUT EXEC sp_OASetProperty @oauth1, 'ConsumerKey', 'TWITTER_CONSUMER_KEY' EXEC sp_OASetProperty @oauth1, 'ConsumerSecret', 'TWITTER_CONSUMER_SECRET' EXEC sp_OAMethod @json, 'StringOf', @sTmp0 OUT, 'oauth_token' EXEC sp_OASetProperty @oauth1, 'Token', @sTmp0 EXEC sp_OAMethod @json, 'StringOf', @sTmp0 OUT, 'oauth_token_secret' EXEC sp_OASetProperty @oauth1, 'TokenSecret', @sTmp0 EXEC sp_OASetProperty @oauth1, 'SignatureMethod', 'HMAC-SHA1' EXEC sp_OAMethod @oauth1, 'GenNonce', @success OUT, 16 EXEC sp_OAMethod @rest, 'SetAuthOAuth1', @success OUT, @oauth1, 0 DECLARE @bAutoReconnect int SELECT @bAutoReconnect = 1 EXEC sp_OAMethod @rest, 'Connect', @success OUT, 'api.twitter.com', 443, 1, @bAutoReconnect IF @success <> 1 BEGIN EXEC sp_OAGetProperty @rest, 'LastErrorText', @sTmp0 OUT PRINT @sTmp0 EXEC @hr = sp_OADestroy @json EXEC @hr = sp_OADestroy @rest EXEC @hr = sp_OADestroy @oauth1 RETURN END -- This ends the initial setup... -- ---------------------------------------------------------------------- DECLARE @tweetContent nvarchar(4000) SELECT @tweetContent = 'This is a test tweet.' -- Send a tweet... EXEC sp_OAMethod @rest, 'ClearAllQueryParams', @success OUT EXEC sp_OAMethod @rest, 'AddQueryParam', @success OUT, 'status', @tweetContent DECLARE @resp nvarchar(4000) EXEC sp_OAMethod @rest, 'FullRequestFormUrlEncoded', @resp OUT, 'POST', '/1.1/statuses/update.json' EXEC sp_OAGetProperty @rest, 'LastMethodSuccess', @iTmp0 OUT IF @iTmp0 <> 1 BEGIN EXEC sp_OAGetProperty @rest, 'LastErrorText', @sTmp0 OUT PRINT @sTmp0 EXEC @hr = sp_OADestroy @json EXEC @hr = sp_OADestroy @rest EXEC @hr = sp_OADestroy @oauth1 RETURN END DECLARE @jsonResponse int -- Use "Chilkat_9_5_0.JsonObject" for versions of Chilkat < 10.0.0 EXEC @hr = sp_OACreate 'Chilkat.JsonObject', @jsonResponse OUT EXEC sp_OASetProperty @jsonResponse, 'EmitCompact', 0 EXEC sp_OAMethod @jsonResponse, 'Load', @success OUT, @resp EXEC sp_OAGetProperty @rest, 'ResponseStatusCode', @iTmp0 OUT IF @iTmp0 <> 200 BEGIN EXEC sp_OAMethod @jsonResponse, 'Emit', @sTmp0 OUT PRINT @sTmp0 EXEC @hr = sp_OADestroy @json EXEC @hr = sp_OADestroy @rest EXEC @hr = sp_OADestroy @oauth1 EXEC @hr = sp_OADestroy @jsonResponse RETURN END -- Show the successful response: EXEC sp_OAMethod @jsonResponse, 'Emit', @sTmp0 OUT PRINT @sTmp0 PRINT 'Success.' -- A successful JSON response looks like this: -- { -- "created_at": "Tue Oct 18 01:58:44 +0000 2016", -- "id": 788111589581114111, -- "id_str": "788111189585711352", -- "text": "This is a test tweet.", -- "truncated": false, -- "entities": { -- "hashtags": [ -- ], -- "symbols": [ -- ], -- "user_mentions": [ -- ], -- "urls": [ -- ] -- }, -- "source": "\u003ca href=\"https:\/\/www.chilkatsoft.com\/\" rel=\"nofollow\"\u003eChilkatTestApp\u003c\/a\u003e", -- "in_reply_to_status_id": null, -- "in_reply_to_status_id_str": null, -- "in_reply_to_user_id": null, -- "in_reply_to_user_id_str": null, -- "in_reply_to_screen_name": null, -- "user": { -- "id": 85647455, -- "id_str": "85647455", -- "name": "Chilkat Software", -- "screen_name": "chilkatsoft", -- "location": "", -- "description": "", -- "url": "https:\/\/t.co\/hSTR4sOuis", -- "entities": { -- "url": { -- "urls": [ -- { -- "url": "https:\/\/t.co\/hSTR4sOuis", -- "expanded_url": "http:\/\/www.chilkatsoft.com", -- "display_url": "chilkatsoft.com", -- "indices": [ -- 0, -- 23 -- ] -- } -- ] -- }, -- "description": { -- "urls": [ -- ] -- } -- }, -- "protected": false, -- "followers_count": 36, -- "friends_count": 0, -- "listed_count": 4, -- "created_at": "Tue Oct 27 19:56:13 +0000 2009", -- "favourites_count": 0, -- "utc_offset": null, -- "time_zone": null, -- "geo_enabled": false, -- "verified": false, -- "statuses_count": 6, -- "lang": "en", -- "contributors_enabled": false, -- "is_translator": false, -- "is_translation_enabled": false, -- "profile_background_color": "C0DEED", -- "profile_background_image_url": "http:\/\/abs.twimg.com\/images\/themes\/theme1\/bg.png", -- "profile_background_image_url_https": "https:\/\/abs.twimg.com\/images\/themes\/theme1\/bg.png", -- "profile_background_tile": false, -- "profile_image_url": "http:\/\/pbs.twimg.com\/profile_images\/115893001012741111\/clLweDSg_normal.jpg", -- "profile_image_url_https": "https:\/\/pbs.twimg.com\/profile_images\/115893001012741111\/clLweDSg_normal.jpg", -- "profile_link_color": "0084B4", -- "profile_sidebar_border_color": "C0DEED", -- "profile_sidebar_fill_color": "DDEEF6", -- "profile_text_color": "333333", -- "profile_use_background_image": true, -- "has_extended_profile": false, -- "default_profile": true, -- "default_profile_image": false, -- "following": false, -- "follow_request_sent": false, -- "notifications": false -- }, -- "geo": null, -- "coordinates": null, -- "place": null, -- "contributors": null, -- "is_quote_status": false, -- "retweet_count": 0, -- "favorite_count": 0, -- "favorited": false, -- "retweeted": false, -- "lang": "en" -- } -- EXEC @hr = sp_OADestroy @json EXEC @hr = sp_OADestroy @rest EXEC @hr = sp_OADestroy @oauth1 EXEC @hr = sp_OADestroy @jsonResponse END GO |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.