PowerShell Requires Chilkat v11.0.0+
PowerShell
Upload Media to Twitter
Demonstrates uploading image or video files to Twitter. After uploading, the media_id can be used to attach the uploaded media to a tweet.This example is deprecated and no longer valid.
Chilkat PowerShell Downloads
Add-Type -Path "C:\chilkat\ChilkatDotNet47-x64\ChilkatDotNet47.dll"
$success = $false
# It requires the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.
# Assume we've previously obtained an access token and saved it to a JSON file..
$jsonToken = New-Object Chilkat.JsonObject
$success = $jsonToken.LoadFile("qa_data/tokens/twitter.json")
$http = New-Object Chilkat.Http
# Provide the OAuth 1.0a credentials:
$http.OAuth1 = $true
$http.OAuthConsumerKey = "TWITTER_CONSUMER_KEY"
$http.OAuthConsumerSecret = "TWITTER_CONSUMER_SECRET"
$http.OAuthToken = $jsonToken.StringOf("oauth_token")
$http.OAuthTokenSecret = $jsonToken.StringOf("oauth_token_secret")
$req = New-Object Chilkat.HttpRequest
$req.HttpVerb = "POST"
$req.ContentType = "multipart/form-data"
$req.Path = "/1.1/media/upload.json"
$req.AddHeader("Expect","100-continue")
# Add a JPEG image file to the upload.
$fac = New-Object Chilkat.FileAccess
$jpgBytes = $fac.ReadEntireFile("qa_data/jpg/starfish.jpg")
$req.AddBytesForUpload("media","starfish.jpg",$jpgBytes)
$resp = New-Object Chilkat.HttpResponse
$success = $http.HttpSReq("upload.twitter.com",443,$true,$req,$resp)
if ($success -eq $false) {
$($http.LastErrorText)
exit
}
$jsonResponse = New-Object Chilkat.JsonObject
$jsonResponse.EmitCompact = $false
$jsonResponse.Load($resp.BodyStr)
if ($resp.StatusCode -ne 200) {
$($jsonResponse.Emit())
exit
}
# Show the successful response:
$($jsonResponse.Emit())
$("Success.")
# A successful JSON response looks like this:
# {
# "media_id": 793137045996646400,
# "media_id_string": "793137045996646400",
# "size": 6229,
# "expires_after_secs": 86400,
# "image": {
# "image_type": "image\/jpeg",
# "w": 120,
# "h": 120
# }
# }
#
# Get the information from the JSON:
$("media_id_string = " + $jsonResponse.StringOf("media_id_string"))
$("size = " + $jsonResponse.IntOf("size"))
$("image_type = " + $jsonResponse.StringOf("image.image_type"))
$("height/width = " + $jsonResponse.IntOf("image.w") + "," + $jsonResponse.IntOf("image.h"))