Bild vergrößern
937
685
http://img1.magnus.de/Nicht-nur-f-r-Programmierprofis-Youtube-API-und-SimpleXML-r937x685-C-8e01b6f1-8631903.jpg
Mit einfachen Tricks Youtube einbinden
Youtube-Videos auf Ihrer Website - Youtube API und SimpleXML
Wenn es darum geht, YouTube-Videos auf der eigenen Homepage einzubinden, sind Sie nicht auf die bereitgestellten Code Snippets beschränkt. YouTube bietet eine Programmierschnittstelle, mit der Sie das Angebot nach beliebigen Kriterien filtern. Oder Sie lassen Ihre Besucher entscheiden, was sie sehen wollen.
Zur Dokumentation der YouTube-API gelangen Sie, wenn Sie auf der Startseite www.youtube.com ganz unten auf die Verknüpfung Entwickler klicken. Genau genommen umfasst die YouTube-API nicht nur eine, sondern mehrere APIs (Application Programming Interface: Programmierschnittstelle). Es gibt die Data API, Player APIs und außerdem Custom Player und die so genannten Widgets, die auf JavaScript basieren. Die mächtigste ist sicher die Data API und um die geht es hier.
Grundsätzlich verwenden Sie die Data API mit jeder serverseitigen Skriptsprache. Eigene Dokumentationen gibt es für Java, Python und PHP. Nach Auswahl von Entwickler/Data API finden Sie entsprechende Links auf der Seite. Außerdem gibt es die GData .NET Client Library, die vor allem für Stand-Alone-Anwendungen interessant sein dürfte. Tatsächlich ist die YouTube-API nicht auf Webseiten beschränkt. In den meisten Fällen wird die Entscheidung aber auf PHP fallen, da diese Skriptsprache praktisch von jedem Webhoster unterstützt wird.
Drei Schritten
- Sie fordern im PHP-Skriptcode per HTTP-Request ein YouTube-Feed an. Ein Feed ist im Grunde nichts anderes als ein XML-Dokument, in dem Informationen hinterlegt sind. Bei YouTube-Feeds handelt es sich durchweg um Videodaten.
- Mittels eines SimpleXML-Objekts speichern Sie die gewünschten Informationen in PHP-Variablen.
- Diese Variablen verwenden Sie anschließend im HTML-Code, um die entsprechenden Inhalte darzustellen.
Der im Hilfedokument Developer‘s Guide: PHP beschriebene PHP-Code basiert auf der Klassenbibliothek des Zend Frameworks. Wir verwenden im Code der Beispiele dagegen die SimpleXML-Extension, die weniger proprietär und noch einfacher zu handhaben ist. Sie ist in der PHP-Version 5 standardmäßig integriert. Eine komplette Beschreibung der SimpleXML-Schnittstelle finden Sie im PHP-Handbuch auf den Seiten von PHP.net unter www.php.net. Der direkte Link lautet http://de3.php.net/manual/de/book.simplexml.php.
Bild vergrößern
937
272
http://img4.magnus.de/Nicht-nur-f-r-Programmierprofis-Youtube-API-und-SimpleXML-r937x271-C-c8801eed-31153370.jpg
YouTube-Startseite: Von hier aus gelangen Sie in die Entwicklerabteilung.
YouTube-Startseite: Von hier aus gelangen Sie in die Entwicklerabteilung.
Das Prinzip ist recht einfach. Es besteht im Wesentlichen aus drei Schritten:
Das Beispiel zeigt Thumbnails der drei aktuell bestbewerteten YouTube-Videos, die gleichzeitig als Verknüpfung zum YouTube-Player fungieren. Die .php-Datei finden Sie auf der Heft-DVD (YouTube1.php). Wenn Sie die Datei auf Ihren Webspace hochladen und auf Ihrer Homepage referenzieren – oder die Datei auf Ihren lokalen Webserver stellen –, sollte das Ergebnis etwa wie in der Abbildung Top Rated aussehen. Die Anzeige der Videos wird natürlich variieren, da sie von den aktuellen Bewertungen abhängt. Wenn der Betrachter ein Thumbnail anklickt, gelangt er zur entsprechenden YouTube-Videoseite.
Bild vergrößern
442
250
http://img3.magnus.de/Nicht-nur-f-r-Programmierprofis-Youtube-API-und-SimpleXML-r442x250-C-299ea9e3-31153373.jpg
Top Rated: Die Thumbnails dieser YouTube-Videos fungieren als Verknüpfung zum Player.
Top Rated: Die Thumbnails dieser YouTube-Videos fungieren als Verknüpfung zum Player.
Der Schlüssel zum Ganzen sind die beiden Anweisungen $feed = ‚http://gdata.youtube.com/feeds/api/standardfeeds/toprated?max-results=3‘; und $ytxml = simplexml_load_file($feed);, die Sie auch wie folgt zu einer Anweisung zusammenfassen: $ytxml = simplexml_load_file (‚http://gdata.youtube.com/feeds/api/standardfeeds/top_rated?max-results=3‘);. Hier wird der String für das YouTube-Feed direkt übergeben. Welche Variante Sie bevorzugen, ist eine Frage des Geschmacks. Der Umweg über die Variable $feed dient allein der besseren Übersicht.
Die Funktion simplexml_load_file gehört zur bereits erwähnten PHP-Extension SimpleXML. Sie liefert ein Objekt, welches die Daten eines XML-Dokuments repräsentiert. Dieses wird der Funktion beim Aufruf übergeben. Bei der vorliegenden URL handelt es sich um ein so genanntes YouTube-Standard Feed, das die Daten der bestbewerteten Videos im XML-Format enthält. Der zusätzliche Parameter max-results=3 beschränkt die Anzahl auf drei. Sie testen das Verfahren, indem Sie die Seite http://gdata.youtube.com/feeds/api/standardfeeds/top_rated?max-results=3 im Browser laden.
Nicht nur für Programmierprofis - Youtube API und SimpleXML
1 von 5
Nicht nur für Programmierprofis - Youtube API und SimpleXML
Anschließend lässt sich die Webseite als XML-Dokument speichern. Dazu klicken Sie im IE mit der rechten Maustaste irgendwo auf die angezeigte Seite und wählen im Kontextmenü Quelltext anzeigen (Seitenquelltext anzeigen in Mozilla Firefox). Speichern Sie die Datei dann mit der Erweiterung .xml, zum Beispiel als top_rated.xml. Wenn Sie diese Datei jetzt im Browser laden (beachten Sie, dass Sie im Datei öffnen-Dialog die Anzeige aller Dateien einstellen müssen, um die XML-Datei auszuwählen), bekommen Sie sehr schön deren Struktur zu sehen.