Displaying Twitter Photos via Entities
Twitter has announced that it will soon open up a native photo sharing service.
Rather than using an external service like Embed.ly to retrieve thumbnails, all the data is embedded within Twitter Entities.
So, if you request a status using "include_entities=true", you will be able to grab the image and display the thumbnail using the following code.
function twitter_get_media($status) {
if($status->entities->media) {
$url = $status->entities->media[0]->media_url_https;
$width = $status->entities->media[0]->sizes->thumb->w;
$height = $status->entities->media[0]->sizes->thumb->h;
$media_html = "<a href="" . $url . "" target='_blank'>";
$media_html .= "<img src="" . $url . ":thumb" width="" . $width .
"" height="" . $height . "" />";
$media_html .= "</a><br />";
return $media_html;
}
}
So, a tweet like this: https://twitter.com/twitter/status/76360760606986241 Will render like this (in Dabr):
Notes
This is very rough and ready proof of concept code. Beware of the following:
- This will only take the first image from the tweet.
- Only images are supported - I'm not sure how their proposed video sharing will work.
- There's no error checking.
- In the above code, the https URL is used - if you want a non-SSL link, you'll need to remove the "_https"
Enjoy!
Ryan Cullen says:
Links to the actual tweet/image page and loops through all the images (possibly).
Ryan Cullen says:
appears wordpress has swallowed some of the code, but you can guess what it is.
Terence Eden says:
I've de-mungified it for you 🙂