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
(Ruby) Twitter Tweet with an ImageExample to post a status update with an associated image/photo (or video).
require 'chilkat' # 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.. json = Chilkat::CkJsonObject.new() success = json.LoadFile("qa_data/tokens/twitter.json") rest = Chilkat::CkRest.new() oauth1 = Chilkat::CkOAuth1.new() oauth1.put_ConsumerKey("TWITTER_CONSUMER_KEY") oauth1.put_ConsumerSecret("TWITTER_CONSUMER_SECRET") oauth1.put_Token(json.stringOf("oauth_token")) oauth1.put_TokenSecret(json.stringOf("oauth_token_secret")) oauth1.put_SignatureMethod("HMAC-SHA1") oauth1.GenNonce(16) rest.SetAuthOAuth1(oauth1,false) bAutoReconnect = true success = rest.Connect("api.twitter.com",443,true,bAutoReconnect) if (success != true) print rest.lastErrorText() + "\n"; exit end # This ends the initial setup... # ---------------------------------------------------------------------- tweetContent = "This is a test tweet with an image." # Send a tweet... rest.ClearAllQueryParams() rest.AddQueryParam("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. rest.AddQueryParam("media_ids","793137045996646400") resp = rest.fullRequestFormUrlEncoded("POST","/1.1/statuses/update.json") if (rest.get_LastMethodSuccess() != true) print rest.lastErrorText() + "\n"; exit end jsonResponse = Chilkat::CkJsonObject.new() jsonResponse.put_EmitCompact(false) jsonResponse.Load(resp) if (rest.get_ResponseStatusCode() != 200) print jsonResponse.emit() + "\n"; exit end # Show the successful response: print jsonResponse.emit() + "\n"; print "Success." + "\n"; # 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" # } # |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.