PowerShell
PowerShell
Emoji Tweet
Demonstrates posting a status update that includes an emoji character.This example is deprecated and no longer valid.
Chilkat PowerShell Downloads
Add-Type -Path "C:\chilkat\ChilkatDotNet47-x64\ChilkatDotNet47.dll"
$success = $false
# 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..
$json = New-Object Chilkat.JsonObject
$success = $json.LoadFile("qa_data/tokens/twitter.json")
$rest = New-Object Chilkat.Rest
$oauth1 = New-Object Chilkat.OAuth1
$oauth1.ConsumerKey = "TWITTER_CONSUMER_KEY"
$oauth1.ConsumerSecret = "TWITTER_CONSUMER_SECRET"
$oauth1.Token = $json.StringOf("oauth_token")
$oauth1.TokenSecret = $json.StringOf("oauth_token_secret")
$oauth1.SignatureMethod = "HMAC-SHA1"
$oauth1.GenNonce(16)
$rest.SetAuthOAuth1($oauth1,$false)
$bAutoReconnect = $true
$success = $rest.Connect("api.twitter.com",443,$true,$bAutoReconnect)
if ($success -ne $true) {
$($rest.LastErrorText)
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.
$sbText = New-Object Chilkat.StringBuilder
$sbText.LoadFile("qa_data/txt/ghost_emoji.txt","utf-8")
$sbText.Prepend("Test tweet using two emoji chars: ")
# Send a tweet...
$rest.ClearAllQueryParams()
$rest.AddQueryParam("status",$sbText.GetAsString())
$resp = $rest.FullRequestFormUrlEncoded("POST","/1.1/statuses/update.json")
if ($rest.LastMethodSuccess -ne $true) {
$($rest.LastErrorText)
exit
}
$jsonResponse = New-Object Chilkat.JsonObject
$jsonResponse.EmitCompact = $false
$jsonResponse.Load($resp)
if ($rest.ResponseStatusCode -ne 200) {
$($jsonResponse.Emit())
exit
}
# Show the successful response:
$($jsonResponse.Emit())
$("Success.")