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
(Tcl) Twitter Simple Tweet (Post Status Update)Demonstrates sending a simple Twitter status update (tweet).
load ./chilkat.dll # 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.. set json [new_CkJsonObject] set success [CkJsonObject_LoadFile $json "qa_data/tokens/twitter.json"] set rest [new_CkRest] set oauth1 [new_CkOAuth1] CkOAuth1_put_ConsumerKey $oauth1 "TWITTER_CONSUMER_KEY" CkOAuth1_put_ConsumerSecret $oauth1 "TWITTER_CONSUMER_SECRET" CkOAuth1_put_Token $oauth1 [CkJsonObject_stringOf $json "oauth_token"] CkOAuth1_put_TokenSecret $oauth1 [CkJsonObject_stringOf $json "oauth_token_secret"] CkOAuth1_put_SignatureMethod $oauth1 "HMAC-SHA1" CkOAuth1_GenNonce $oauth1 16 CkRest_SetAuthOAuth1 $rest $oauth1 0 set bAutoReconnect 1 set success [CkRest_Connect $rest "api.twitter.com" 443 1 $bAutoReconnect] if {$success != 1} then { puts [CkRest_lastErrorText $rest] delete_CkJsonObject $json delete_CkRest $rest delete_CkOAuth1 $oauth1 exit } # This ends the initial setup... # ---------------------------------------------------------------------- set tweetContent "This is a test tweet." # Send a tweet... CkRest_ClearAllQueryParams $rest CkRest_AddQueryParam $rest "status" $tweetContent set resp [CkRest_fullRequestFormUrlEncoded $rest "POST" "/1.1/statuses/update.json"] if {[CkRest_get_LastMethodSuccess $rest] != 1} then { puts [CkRest_lastErrorText $rest] delete_CkJsonObject $json delete_CkRest $rest delete_CkOAuth1 $oauth1 exit } set jsonResponse [new_CkJsonObject] CkJsonObject_put_EmitCompact $jsonResponse 0 CkJsonObject_Load $jsonResponse $resp if {[CkRest_get_ResponseStatusCode $rest] != 200} then { puts [CkJsonObject_emit $jsonResponse] delete_CkJsonObject $json delete_CkRest $rest delete_CkOAuth1 $oauth1 delete_CkJsonObject $jsonResponse exit } # Show the successful response: puts [CkJsonObject_emit $jsonResponse] puts "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" # } # delete_CkJsonObject $json delete_CkRest $rest delete_CkOAuth1 $oauth1 delete_CkJsonObject $jsonResponse |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.