SteviesWebsite

YouTube API – Videos suchen mit PHP

2. September 2009
php / Schlagwörter: ,
YouTube API

YouTube API

Die YouTube API baut hauptsächlich auf Feeds aus. Wir werden uns heute darum kümmern, ein Video mithilfe von PHP über die API zu finden.

Damit wir diese auch später verwenden können bauen wir eine schöne Funktion damit. Darin können wir natürlich den Suchbegriff eingeben. Weitere Parameter sind die Sortierung, der Start-Index und die Anzahl der Elemente.

Bedingung dafür, dass das ganze Funktioniert ist, dass man vom Webspace externe Dateien laden kann. Dieses ist aus Sicherheitsgründen bei manchen Webspace-Anbietern (standardmäßig) ausgeschaltet. Ich hab das ganze auf meinem Testsystem gemacht (deswegen kann ich euch auch keine Testseite zur Verfügung stellen).

Über simplexml_load_file laden wir uns das Feed (was wie wir wissen aus XML besteht) . Danach suchen wir uns da die videos raus und geben sie zurück. Das sieht dann so aus:

<?php
  function getYouTubeVideos($search,$orderby,$start,$count){
    $search = urlencode($search);
    $orderby = urlencode($orderby);
    $xml = simplexml_load_file('http://gdata.youtube.com/feeds/api/videos?q='.$search.'&orderby='.$orderby.'&start-index='.$start.'&max-results='.$count.'&v=2');
    foreach($xml->entry as $video){
      $res[] = $video;
    }
    return $res;
  }
?>

Die einzelnen Videos bauen noch auf XML auf, so dass man dort die passenden Einträge auslesen muss. Am besten sieht man den Aufbau, wenn man folgende Schleife macht:

<?php
foreach(getYouTubeVideos("Video","published",1,10) as $video){
  print_r($video);
}
?>

Die wichtigsten Einträge sind wohl der Titel und der Link zu YouTube. Ich habe außerdem noch den Autor, das Veröfftlichs- und Änderungsdatum ausgelesen. Das sieht dann so aus:

<?PHP
  foreach(getYouTubeVideos("Video","published",1,10) as $video){
    ?>
    <h2>
      <a href="<?PHP echo $video->link['href']; ?>">
        <?PHP echo $video->title; ?>
      </a>
    </h2>
    <p>Ver&ouml;ffentlicht: 
      <?PHP echo $video->published; ?>
    </p>
    <p>Ge&auml;ndert: 
      <?PHP echo $video->updated; ?>
    </p>
    <p>Autor: 
      <?PHP echo $video->author->name; ?>
    </p>
    <?PHP
  }
?>

Verwandte Themen in anderen Blogs

RSS-Feed für Kommentare zu diesem Artikel. TrackBack-URL

Keine Kommentare »

Einen Kommentar hinterlassen

Trackbacks/Pingbacks

Code & Blog LogoErstelle dein eigenes CMS mit PHP. Dieses Tutorial wird dir zeigen wie das geht. Also lies dir es durch und frische deine PHP Kenntnisse auf. Viel Spaß dabei! [mehr...]

  • RSS
  • Blogverzeichnis - Blog Verzeichnis bloggerei.de
© SteviesWebsite.de - Kontakt | Impressum