PHP Extension Requires Chilkat v11.0.0+
PHP Extension
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 PHP Extension Downloads
<?php
include("chilkat.php");
$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 CkJsonObject();
$success = $jsonToken->LoadFile('qa_data/tokens/twitter.json');
$http = new CkHttp();
// Provide the OAuth 1.0a credentials:
$http->put_OAuth1(true);
$http->put_OAuthConsumerKey('TWITTER_CONSUMER_KEY');
$http->put_OAuthConsumerSecret('TWITTER_CONSUMER_SECRET');
$http->put_OAuthToken($jsonToken->stringOf('oauth_token'));
$http->put_OAuthTokenSecret($jsonToken->stringOf('oauth_token_secret'));
$req = new CkHttpRequest();
$req->put_HttpVerb('POST');
$req->put_ContentType('multipart/form-data');
$req->put_Path('/1.1/media/upload.json');
$req->AddHeader('Expect','100-continue');
// Add a JPEG image file to the upload.
$fac = new CkFileAccess();
$jpgBytes = new CkByteData();
$success = $fac->ReadEntireFile('qa_data/jpg/starfish.jpg',$jpgBytes);
$req->AddBytesForUpload('media','starfish.jpg',$jpgBytes);
$resp = new CkHttpResponse();
$success = $http->HttpSReq('upload.twitter.com',443,true,$req,$resp);
if ($success == false) {
print $http->lastErrorText() . "\n";
exit;
}
$jsonResponse = new CkJsonObject();
$jsonResponse->put_EmitCompact(false);
$jsonResponse->Load($resp->bodyStr());
if ($resp->get_StatusCode() != 200) {
print $jsonResponse->emit() . "\n";
exit;
}
// Show the successful response:
print $jsonResponse->emit() . "\n";
print 'Success.' . "\n";
// 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:
print 'media_id_string = ' . $jsonResponse->stringOf('media_id_string') . "\n";
print 'size = ' . $jsonResponse->IntOf('size') . "\n";
print 'image_type = ' . $jsonResponse->stringOf('image.image_type') . "\n";
print 'height/width = ' . $jsonResponse->IntOf('image.w') . ',' . $jsonResponse->IntOf('image.h') . "\n";
?>