Sample code for 30+ languages & platforms
Xojo Plugin

Twitter - Tweet with Multiple Images

Example to post a status update with multiple associated images/photos (or videos).

Chilkat Xojo Plugin Downloads

Xojo Plugin
Dim success As Boolean
success = False

// 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..
Dim json As New Chilkat.JsonObject
success = json.LoadFile("qa_data/tokens/twitter.json")

Dim rest As New Chilkat.Rest
Dim oauth1 As New 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"
success = oauth1.GenNonce(16)

success = rest.SetAuthOAuth1(oauth1,False)

Dim bAutoReconnect As Boolean
bAutoReconnect = True
success = rest.Connect("api.twitter.com",443,True,bAutoReconnect)
If (success <> True) Then
    System.DebugLog(rest.LastErrorText)
    Return
End If

// This ends the initial setup...
// ----------------------------------------------------------------------

Dim tweetContent As String
tweetContent = "This is a test tweet with multiple images."

// Send a tweet...
success = rest.ClearAllQueryParams()
success = rest.AddQueryParam("status",tweetContent)

// Add list of comma separated 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.
success = rest.AddQueryParam("media_ids","793137045996646400,793192201392041984")

Dim resp As String
resp = rest.FullRequestFormUrlEncoded("POST","/1.1/statuses/update.json")
If (rest.LastMethodSuccess <> True) Then
    System.DebugLog(rest.LastErrorText)
    Return
End If

Dim jsonResponse As New Chilkat.JsonObject
jsonResponse.EmitCompact = False
success = jsonResponse.Load(resp)

If (rest.ResponseStatusCode <> 200) Then
    System.DebugLog(jsonResponse.Emit())
    Return
End If

// Show the successful response:
System.DebugLog(jsonResponse.Emit())
System.DebugLog("Success.")