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 Tweet with an ImageExample to post a status update with an associated image/photo (or video).
-- 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) -- This example 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 with an image.' -- Send a tweet... EXEC sp_OAMethod @rest, 'ClearAllQueryParams', @success OUT EXEC sp_OAMethod @rest, 'AddQueryParam', @success OUT, 'status', @tweetContent -- Add list of media_ids to associate with the Tweet. -- You may include up to 4 photos or 1 animated GIF or 1 video in a Tweet. -- The image needs to have been previously uploaded. The upload response gave us -- the media ID we'll use to associate this tweet with the image (or video) -- See Twitter Upload Media for sample code. -- This example will add just a single image/photo. EXEC sp_OAMethod @rest, 'AddQueryParam', @success OUT, 'media_ids', '793137045996646400' 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": "Mon Oct 31 20:25:17 +0000 2016", -- "id": 793187104528347136, -- "id_str": "793187104528347136", -- "text": "This is a test tweet with an image. https:\/\/t.co\/4mcCL0k36x", -- "truncated": false, -- "entities": { -- "hashtags": [ -- ], -- "symbols": [ -- ], -- "user_mentions": [ -- ], -- "urls": [ -- ], -- "media": [ -- { -- "id": 793137045996646400, -- "id_str": "793137045996646400", -- "indices": [ -- 36, -- 59 -- ], -- "media_url": "http:\/\/pbs.twimg.com\/media\/CwHJ8OzVMAAojGR.jpg", -- "media_url_https": "https:\/\/pbs.twimg.com\/media\/CwHJ8OzVMAAojGR.jpg", -- "url": "https:\/\/t.co\/4mcCL0k36x", -- "display_url": "pic.twitter.com\/4mcCL0k36x", -- "expanded_url": "https:\/\/twitter.com\/chilkatsoft\/status\/793187104528347136\/photo\/1", -- "type": "photo", -- "sizes": { -- "large": { -- "w": 120, -- "h": 120, -- "resize": "fit" -- }, -- "medium": { -- "w": 120, -- "h": 120, -- "resize": "fit" -- }, -- "thumb": { -- "w": 120, -- "h": 120, -- "resize": "crop" -- }, -- "small": { -- "w": 120, -- "h": 120, -- "resize": "fit" -- } -- } -- } -- ] -- }, -- "extended_entities": { -- "media": [ -- { -- "id": 793137045996646400, -- "id_str": "793137045996646400", -- "indices": [ -- 36, -- 59 -- ], -- "media_url": "http:\/\/pbs.twimg.com\/media\/CwHJ8OzVMAAojGR.jpg", -- "media_url_https": "https:\/\/pbs.twimg.com\/media\/CwHJ8OzVMAAojGR.jpg", -- "url": "https:\/\/t.co\/4mcCL0k36x", -- "display_url": "pic.twitter.com\/4mcCL0k36x", -- "expanded_url": "https:\/\/twitter.com\/chilkatsoft\/status\/793187104528347136\/photo\/1", -- "type": "photo", -- "sizes": { -- "large": { -- "w": 120, -- "h": 120, -- "resize": "fit" -- }, -- "medium": { -- "w": 120, -- "h": 120, -- "resize": "fit" -- }, -- "thumb": { -- "w": 120, -- "h": 120, -- "resize": "crop" -- }, -- "small": { -- "w": 120, -- "h": 120, -- "resize": "fit" -- } -- } -- } -- ] -- }, -- "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": 41, -- "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": 16, -- "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\/785893001012744195\/clLweDSg_normal.jpg", -- "profile_image_url_https": "https:\/\/pbs.twimg.com\/profile_images\/785893001012744195\/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, -- "translator_type": "none" -- }, -- "geo": null, -- "coordinates": null, -- "place": null, -- "contributors": null, -- "is_quote_status": false, -- "retweet_count": 0, -- "favorite_count": 0, -- "favorited": false, -- "retweeted": false, -- "possibly_sensitive": 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.