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) Emoji TweetDemonstrates posting a status update that includes an emoji character.
load ./chilkat.dll # This 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... # ---------------------------------------------------------------------- # For this example, I've pre-created a text file containing two emoji # characters (the "ghost" emoji, and a "face savouring delicious food" emoji). # This text file was saved using the utf-8 encoding. # The utf-8 bytes for the ghost emoji are 0x9f 0x91 0xbb. (Note: This is the utf-8 # representation that does not use surrogate pairs.) # # The utf-8 bytes for the "face savouring delicious food" emoji are \xF0\x9F\x98\x8B. set sbText [new_CkStringBuilder] CkStringBuilder_LoadFile $sbText "qa_data/txt/ghost_emoji.txt" "utf-8" CkStringBuilder_Prepend $sbText "Test tweet using two emoji chars: " # Send a tweet... CkRest_ClearAllQueryParams $rest CkRest_AddQueryParam $rest "status" [CkStringBuilder_getAsString $sbText] 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 delete_CkStringBuilder $sbText 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_CkStringBuilder $sbText delete_CkJsonObject $jsonResponse exit } # Show the successful response: puts [CkJsonObject_emit $jsonResponse] puts "Success." delete_CkJsonObject $json delete_CkRest $rest delete_CkOAuth1 $oauth1 delete_CkStringBuilder $sbText delete_CkJsonObject $jsonResponse |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.