A programming & designing blog!

Monday, September 30, 2013

Get Youtube Video Thumbnail and Other Information with PHP and Youtube API

YouTube api version 2 provides all necessary information about videos on YouTube. If you want to create a video gallery or want to embed YouTube videos on your website then it can give you extra power.

In this post I am going to show you how to get YouTube videos information like video title, description, thumbnail and other information with YouTube JSON api and php.

Live Demo Download Source

Youtube API Function

youtube function receives YouTube video url as parameter. It automatically extracts video id from url and sends request to YouTube api server through curl.

/**
 * Youtube
 *
 * @version YouTube API V2
 * @param str youtube video url
 * @return object || void
 * @copyright w3bees.com
 */
function youtube($url)
{
  # get video id from url
  $urlQ = parse_url( $url, PHP_URL_QUERY );
  parse_str( $urlQ, $query );

  # YouTube api v2 url
  $apiURL = 'http://gdata.youtube.com/feeds/api/videos/'. $query['v'] .'?v=2&alt=jsonc';

  # curl options
  $options = array(
    CURLOPT_URL  => $apiURL,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_BINARYTRANSFER => true,
    CURLOPT_SSL_VERIFYPEER => false,
    CURLOPT_TIMEOUT => 5 );

  # connect api server through cURL
  $ch = curl_init();
  curl_setopt_array($ch, $options);
  # execute cURL
  $json = curl_exec($ch) or die( curl_error($ch) );
  # close cURL connect
  curl_close($ch);

  # decode json encoded data
  if ($data = json_decode($json))
    return (object) $data->data;
}

Usages

youtube function returns all information as object.

# call youtube api function
$youtube = youtube('http://www.youtube.com/watch?v=xxxxxxxxxx');
# title
$youtube->title;
# duration in seconds
$youtube->duration;
#video description
$youtube->description;
# thumbnail url High Quality
$youtube->thumbnail->hqDefault;
# thumbnail url Small Quality
$youtube->thumbnail->sqDefault;
# video rating out of five
$youtube->rating;
# total likes
$youtube->likeCount;
# video category
$youtube->category;
# total view
$youtube->viewCount;
# time upload time
$youtube->uploaded;

12 comments:

  1. thx man , i will use it

    ReplyDelete
  2. i m getting Plain youtube video description..from $youtube->description;
    how to get description same like in youtube?

    ReplyDelete
  3. How to get other websites videos thumbnail images?

    ReplyDelete
  4. This comment has been removed by a blog administrator.

    ReplyDelete
  5. Dapatkan disini , karena Obat Pelangsing slimming Capsule Di Apotik belum tersedia , karena slimming capsule tidak di jual di sembarang temapat termasuk di apotik pun tujuannya untuk menjaga ke aslian produk tersebut, karena sekarang banyak perusahaan yang meniru produk produk herbal sehingga herbal yang asli khasiatnya bisa di rusak oleh produk yang palsu. Untuk itu hati hati dengan slimming capsule

    and obat vig power capsule

    ReplyDelete
  6. Live demo is not working, Can you please check?

    ReplyDelete
  7. very interesting blog.This will help lot of user to update their knowledge.Thanks for sharing.

    White Label Website Builder

    ReplyDelete
  8. Thanks for your sharing. Hope you can contribute more quality posts to this page. Thank you!
    lucky patcher

    ReplyDelete
  9. It's cool that you report such things. Melinda

    ReplyDelete
  10. YouTube Analytics comes in when you have started using YouTube to upload and share videos and when you started to wonder who are watching your videos and how do they can get more views and better engagement. When you build a dashing YouTube channel, the requirement is, you must understand who your audience is and how do they engage with your videos. As luck would have it, YouTube Analytics is to the rescue to tell you a lot more about your audience, what do they like, and what kind of content you should create to become successful. vues de youtube

    ReplyDelete