PHP API Video YouTube yang paling sering dilihat

Tutorial ini memperkenalkan bagaimana ekstensi PHP merender data API YouTube yang digunakan untuk melihat video user-generated content yang paling sering dilihat dan mengakses metadata video.

Aplikasi YouTube

Situs Sharing Video YouTube memungkinkan pengembang aplikasi web untuk mengakses konten publiknya melalui REST-based developer API. Ekstensi SimpleXML dalam PHP adalah fungsi yang sangat ideal untuk memproses feed XML yang dihasilkan dari API YouTube. Tutorial ini memperkenalkan bagaimana ekstensi PHP merender data API YouTube yang digunakan untuk melihat video user-generated content yang paling sering dilihat dan mengakses metadata video seperti deskripsi, judul, durasi dan rating video.

Beberapa standar feed YouTube yang sering digunakan oleh pengembang aplikasi adalah:

  1. Highly rated videos: http://gdata.youtube.com/feeds/api/standardfeeds/top_rated
  2. Most recently-added videos: http://gdata.youtube.com/feeds/api/standardfeeds/most_recent
  3. Most linked videos: http://gdata.youtube.com/feeds/api/standardfeeds/most_linked

Sekarang mari kita proses feed API YouTube tersebut dengan menggunakan PHP. Fungsi simplexml_load_file untuk mengekstrak fragmen yang relevan dari data feed dan memformatnya ke dalam halaman Web

  <?php
    // Setting URL Feed
    $ytfeedURL = 'http://gdata.youtube.com/feeds/api/standardfeeds/top_rated';
    $ytxml = simplexml_load_file($ytfeedURL);
    ?>
      <h1><?php echo $ytxml->title; ?></h1>
    <?php
    foreach ($ytxml->entry as $entry) {
      $media = $entry->children('http://search.yahoo.com/mrss/');
      $attrs = $media->group->player->attributes();
      $watch = $attrs['url']; 
      $attrs = $media->group->content->attributes();
      $player = $attrs['url']; 
      $attrs = $media->group->thumbnail[2]->attributes();
      $thumbnail = $attrs['url']; 
      $yt = $media->children('http://gdata.youtube.com/schemas/2007');
      $attrs = $yt->duration->attributes();
      $length = $attrs['seconds']; 
      $yv = $entry->children('http://gdata.youtube.com/schemas/2007');
      if ($yv->statistics) {
        $attrs = $yv->statistics->attributes();
        $viewCount = $attrs['viewCount']; 
      } else {
        $viewCount = 0; 
      } 
      $viewCount = $attrs['viewCount']; 
      $gd = $entry->children('http://schemas.google.com/g/2005'); 
      if ($gd->rating) {
        $attrs = $gd->rating->attributes();
        $rating = $attrs['average']; 
      } else {
        $rating = 0; 
      } 
      ?>
      <div class="item">
        <span class="title">
          <a href="<?php echo $watch; ?>"><?php echo $media->group->title; ?></a>
        </span>
        <p><?php echo $media->group->description; ?></p>
        <p>
          <span class="thumbnail">
            <a href="<?php echo $player; ?>"><img src="<?php echo $thumbnail;?>" /></a>
            <br/>click to view
          </span>
          <span class="attr">By:</span> <?php echo $entry->author->name; ?> <br/>
          <span class="attr">Duration:</span> <?php printf('%0.2f', $length/60); ?> 
          min. <br/>
           <span class="attr">Rating:</span> <?php echo $rating; ?><br/>
           <span class="attr">Views:</span> <?php echo $viewCount ?>
        </p>
      </div>      
    <?php
    }
    ?>

Tampilan seperti gambar berikut:
Top Rated Video Youtube

Selanjutnya Anda dapat membuat CSSnya untuk membuat tampilannya lebih menarik.

UPDATED 04-09-2012

  • Menambahkan atribut player video YouTube
          $attrs = $media->group->content->attributes();
          $player = $attrs['url'];
    
  • Mengganti link thumbnail. Menjadi seperti ini:
    <a href="<?php echo $player; ?>"><img src="<?php echo $thumbnail;?>" /></a>
  • Anda dapat menambahkan iframe video YouTube. Kode iframe seperti ini:
    <iframe width="560" height="315" src="<?php echo $player; ?>" frameborder="0" allowfullscreen></iframe><
  • Jika Anda menginginkan landing page untuk frame video YouTube, cara gampangnya sebagai berikut:
    1. Buat Page Template khusus untuk halaman page dan beri nama misalnya, “YouTube Player Template“.
      (Cara membuat Page Template baca di sini → http://codex.wordpress.org/Pages#Creating_Your_Own_Page_Templates)
    2. Tempatkan kode berikut di area konten Page Template “YouTube Player Template“.
      <?php
      if ($ytplayer = $_GET['v']){
      echo  '<iframe width="560" height="315" src="'.$ytplayer.'" frameborder="0" allowfullscreen></iframe>';
      }else{
      echo  'No Video';
      }
      ?>
      

      Kode ini menggunakan parameter url “v“.

    3. Bikin halaman/page baru dan beri judul misalnya, “Watch“, dan permalinknya jadi seperti ini http//domain.ltd/watch. Pada Page Attribute, jangan lupa untuk memilih Page Template “YouTube Player Template” yang telah dibuat sebelumnya, lalu publish halaman tersebut.
    4. Ganti kode link thumbnail PHP API Video YouTube di atas (new update), menjadi seperti ini:
      <a target="_blank" rel="nofollow" href="<?php bloginfo('home') ?>/watch?v=<?php echo $player; ?>"><img src="<?php echo $thumbnail;?>" /></a>
    5. Save pekerjaan Anda, dan coba klik salah satu thumbnail, akan tampil landing page untuk player video YouTube. Contoh url landing page player video YouTube seperti ini:
      http//domain.ltd/watch?v=http://www.youtube.com/v/kn6-c223DUU?version=3&f=standard&app=youtube_gdata

UPDATED 18-09-2012

  • Menambahkan statistik views
          $yv = $entry->children('http://gdata.youtube.com/schemas/2007');
          if ($yv->statistics) {
            $attrs = $yv->statistics->attributes();
            $viewCount = $attrs['viewCount']; 
          } else {
            $viewCount = 0; 
          } 
    
  • Jika ingin mengganti landing page dengan fancyBox jQuery, Anda bisa baca tutorial API YouTube Search + fancyBox jQuery di WordPress.

Metode yang sama juga digunakan dalam tutorial Parsing xml user timeline & json search Twitter di WordPress.

UPDATE 12 Juli 2015
YouTube API dalam kode ini sudah tidak dapat digunakan. Silahkan gunakan versi terbaru PHP YouTube API 3.


 Bagikan

Author: Jevuska

Rachmanuddin Chair Yahya a.k.a Jevuska is the founder of Jevuska.Com, a qualified web about offering medical articles, blogging, tips, and tutorial of WordPress. Having written for Jevuska since 2007.

2 thoughts on “PHP API Video YouTube yang paling sering dilihat”

Leave a Reply

Your email address will not be published. Required fields are marked *

Use tag [php] to add code, e.g. [php]<?php echo $var; ?>[/php]