Verwenden der YouTube Daten APIDie YouTube Daten API bietet einen Lese- und Schreibzugriff auf YouTube Inhalte. Benutzer können nicht authentifizierte Anfragen zu Google Daten Feeds durchführen um Feeds von populären Videos, Kommentare, öffentliche Informationen über YouTube Benutzerprofilen, Benutzer PlayListen, Favoriten, Einschreibungen und so weiter zu erhalten. Für weitere Informationen über die YouTube Daten API schauen Sie in die offizielle » PHP Entwickler Dokumentation auf code.google.com. AuthentifizierungDie YouTube Daten API erlaubt aktuell einen nur-lesenden Zugriff auf öffentliche Daten, welcher keine Authentifizierung benötigt. Für alle schreibenden Anfragen muß sich ein Benutzer entweder mit ClientLogin oder AuthSub authentifizieren. Schauen Sie bitte in das » Kapitel über Authentifizierung in der PHP Entwickler Dokumentation für weitere Details. Entwickler Schlüssel und Client IDEin Entwickler Schlüssel identifiziert den QouTube Entwickler der die API Anfrage schickt. Eine Client ID identifiziert die Anwendung für Logging und Debugging Zwecke. Schauen Sie bitte auf » http://code.google.com/apis/youtube/dashboard/ um einen Entwickler Schlüssel und eine Client ID zu erhalten. Das angefügte Beispiel demonstriert wie der Entwickler Schlüssel und die Client ID an das » Zend_Gdata_YouTube Service Pbjekt übergeben werden. Example #1 Einen Entwicklerschlüssel und eine ClientID an Zend_Gdata_YouTube übergeben
Öffentliche Video Feeds empfangenDie YouTube Daten API bietet eine Vielzahl von Feeds die eine Liste von Videos zurückgeben, wie zum Beispiel Standard Feeds, Abhängige Videos, Antworten auf Videos, Videobewertungen, Benutzer Uploads, und Benutzer Favoriten. Zum Beispiel gibt der Benutzer Upload Feed alle Videos zurück die von einem speziellen Benutzer hochgeladen wurden. Sehen Sie in den » You Tube API Referenz Guide für eine detailierte Liste aller vorhandenen Feeds. Suchen nach Videos durch MetadatenMan kann eine Liste von Videos erhalten die einem speziellen Suchkriterium entsprechen, indem die YouTubeQuery Klasse verwendet wird. Die folgende Abfrage schaut nach Videos welche das Wort "Katze" in Ihren Metadaten enthalten, beginnend mit dem 10ten Video und 20 Videos pro Seite anzeigt, sortiert nach der Anzahl der Ansichten. Example #2 Suchen nach Videos
Für weitere Details über die verschiedenen Abfrageparameter, kann der » Referenz Guide hilfreich sein. Die vorhandenen Hilfsfunktionen in » Zend_Gdata_YouTube_VideoQuery für jeden dieser Parameter werden im » PHP Entwickler Guide detailierter beschrieben. Suchen nach Videos durch Kategorien und Tags/SchlüsselwörterDie Suche nach Videos in speziellen Kategorien wird durch die Erstellung einer » speziell formatierten URL durchgeführt. Um, zum Beispiel, nach Komödien-Videos zu suchen die das Schlüsselwort Hund enthalten: Example #3 Suchen nach Videos in speziellen Kategorien
Standard Feeds empfangenDie YouTube Daten API hat eine Anzahl an » Standard Feeds. Diese Standard Feeds können als » Zend_Gdata_YouTube_VideoFeed Objekte empfangen werden indem die spezifizierten URLs und die in der » Zend_Gdata_YouTube Klasse vordefinierten Konstanten (zum Beispiel Zend_Gdata_YouTube::STANDARD_TOP_RATED_URI) oder die vordefinierten Hilfsmethoden verwendet verwendet werden (siehe das Codebeispiel anbei). Um die Top gereihten Videos zu erhalten kann die folgende Helfermethode verwendet werden: Example #4 Empfangen eines Standard Videofeeds
Es gibt auch Abfrageparameter um eine Zeitperiode zu spezifizieren über die der Standardfeed berechnet wird. Um zum Beispiel die Top gereihten Videos von Heute zu erhalten: Example #5 Verwenden von Zend_Gdata_YouTube_VideoQuery um Videos zu empfangen
Alternativ kann man den Feed erhalten indem die URL verwendet wird: Example #6 Empfangen eines Video Feeds durch die URL
Videos erhalten die von einem Benutzer hochgeladen wurdenMan kann eine Liste von Videos erhalten die von einem bestimmten Benutzer hochgeladen wurden indem eine einfache Helfermethode verwendet wird. Dieses Beispiel empfängt Videos die vom Benutzer 'liz' hochgeladen wurden. Example #7 Empfangen von Videos die von einem spezifischen Benutzer hochgeladen wurden
Videos empfangen die von einem Benutzer bevorzugt werdenMan kann eine Liste von bevorzugten Videos eines Benutzer erhalten indem eine einfache Helfermethode verwendet wird. Dieses Beispiel empfängt Videos die vom Benutzer 'liz' bevorzugt werden. Example #8 Empfangen von den bevorzugten Videos eines Benutzers
Videobewertungen für ein Video erhaltenMan kann eine Liste von Videobewertungen eines Videos erhalten indem eine einfache Helfermethode verwendet wird. Dieses Beispiel empfängt Videobewertungen für ein Video mit der ID 'abc123813abc'. Example #9 Empfangen eines Feeds von Video Antworten
Videokommentare erhaltenDie Kommentare für jedes YouTube Video können auf unterschiedlichen Wegen empfangen werden. Um die Kommentare für das Video mit der ID 'abc123813abc' zu empfangen kann der folgende Code verwendet werden: Example #10 Empfangen eines Feeds von Videokommentaren von einer Video ID Kommentare können für ein Video auch empfangen werden wenn man eine Kopie des » Zend_Gdata_YouTube_VideoEntry Objektes hat: Example #11 Empfangen eines Feeds von Videokommentaren von einem Zend_Gdata_YouTube_VideoEntry
PlayList Feeds erhaltenDie YouTube Daten API bietet Informationen über Benutzer, inklusive Profile, PlayListen, Einschreibungen, und weitere. Die PlayListen eines Benutzer erhaltenDie Bibliothek bietet eine Helfermethode um die PlayListen, die einem angegebenen Benutzer zugeordnet sind, zu erhalten. Um die PlayListen des Benutzers 'liz' zu erhalten kann der folgende Code verwendet werden: Example #12 Empfangen von Playlisten eines Benutzers Eine spezielle PlayListe erhaltenDie Bibliothek bietet eine Helfermethode um Videos zu erhalten die mit einer gegebenen PlayListe assoziiert sind. Um die PlayListe für einen speziellen PlayList Eintrag zu erhalten kann der folgende Code verwendet werden: Example #13 Empfangen von speziellen Playlisten
Eine Liste von Einschreibungen eines Benutzers erhaltenEin Benutzer kann verschiedene Arten von Einschreibungen besitzen: Kanal Einschreibungen, Tag Einschreibungen, oder Favoriten Einschreibungen. Ein » Zend_Gdata_YouTube_SubscriptionEntry wird verwendet um individuelle Einschreibungen zu repräsentieren. Um alle Einschreibungen für den Benutzer 'liz' zu erhalten kann der folgende Code verwendet werden: Example #14 Empfangen aller Einschreibungen eines Benutzers
Ein Benutzerprofil erhaltenDie öffentlichen Profil Informationen kann man für jeden YouTube Benutzer erhalten. Um das Profil für den Benutzer 'liz' zu erhalten kann der folgende Code verwendet werden: Videos auf YouTube hochladenStellen Sie sicher das Sie die Diagramme im » Protokoll Guide auf code.google.com für eine Übersicht des Upload Prozesses betrachtet haben. Das Hochladen von Videos kann auf 2 Wegen durchgeführt werden: Entweder durch das direkte Hochladen des Videos oder durch das Senden der Video Meta-Daten und indem der Benutzer das Video über ein HTML Formular hochlädt. Um ein Video direkt hochzuladen, muß zuerst ein neues » Zend_Gdata_YouTube_VideoEntry Objekt erstellt und einige benötigte Meta-Daten spezifiziert werden. Das folgende Beispiel zeigt das Hochladen des Quicktime Videos "mytestmovie.mov" auf YouTube mit den folgenden Eigenschaften:
Der folgende Code erzeugt einen leeren » Zend_Gdata_YouTube_VideoEntry der Hochgeladen werden kann. Ein » Zend_Gdata_App_MediaFileSource wird dann verwendet um die aktuelle Video Datei zu speichern. Unter der Hand wird ein » Zend_Gdata_YouTube_Extension_MediaGroup Objekt verwendet um alle Metadaten des Videos zu speichern. Die anbei beschriebenen Helfermethoden erlauben es die Metadaten des Videos zu setzen ohne das man sich um das Medien Gruppen Objekt kümmern muß. $uploadUrl ist der Ort an den der neue Eintrag gepostet wird. Er kann entweder durch $userName des aktuell authentifizierten Benutzers spezifiziert werden, oder, alternativ indem einfach der String 'default' verwendet wird um auf den aktuell authentifizierten Benutzer zu verweisen. Example #16 Ein Video hochladen
Um ein Video als privat hochzuladen muß einfach $myVideoEntry->setVideoPrivate(); verwendet werden; bevor das Hochladen durchgeführt wird. $videoEntry->isVideoPrivate() kann verwendet werden um zu prüfen ob ein Video Eintrag privat ist oder nicht. Browser-basierender UploadBrowser-basierendes hochladen wird fast auf die gleiche Weise durchgeführt wie direktes Hochladen, ausser das man kein » Zend_Gdata_App_MediaFileSource Objekt an den » Zend_Gdata_YouTube_VideoEntry anhängt den man erstellt. Stattdessen überträgt man einfach alle Metadaten des Videos um ein Token Element zurück zu erhalten welches verwendet werden kann um ein HTML Upload Formular zu erstellen. Example #17 Browser-basierender Upload
Der obige Code gibt einen Link und ein Token aus das verwendet wird um ein HTML Formular zu erstellen und im Browser des Benutzers anzuzeigen. Ein einfaches Beispielformular wird unten gezeigt mit $tokenValue welches den Inhalt des zurückgegebenen Token Elements darstellt, welches wie gezeigt, oben von $myVideoEntry empfangen wird. Damit der Benutzer, nachdem das Formular übermittelt wurde, auf die Website umgeleitet wird, muß ein $nextUrl Parameter an die $postUrl von oben angehängt werden, was auf die gleiche Weise funktioniert wie der $next Parameter eines AuthSub Links. Der einzige Unterschied ist hier das, statt eines einmal zu verwendenden Tokens, ein Status und eine ID Variable in der URL zurückgegeben werden. Example #18 Browser-basierender Upload: Erstellen des HTML Formulars
Den Upload Status prüfenNachdem ein Video hochgeladen wurde, wird es im Upload Feed des authentifizierten Benutzer unmittelbar sichtbar sein. Trotzdem wird es auf der Site nicht öffentlich sein solange es nicht bearbeitet wurde. Videos die ausgeschlossen oder nicht erfolgreich hochgeladen wurden werden auch nur im Upload Feed des authentifizierten Benutzers sichtbar sein. Der folgende Code prüft den Status eines » Zend_Gdata_YouTube_VideoEntry um zu sehen ob er jetzt noch nicht live ist oder ob er nicht akzeptiert wurde. Example #19 Den Status von Video Uploads checken
Andere FunktionenZusätzlich zur oben beschriebenen Funktionalität, enthält die YouTube API viele andere Funktionen die es erlauben Video Metadaten zu verändern, Video Einträge zu löschen und den kompletten Bereich an Community Features der Site zu verwenden. Einige der Community Features die durch die API verändert werden können enthalten: Ratings, Kommentare, Playlisten, Einschreibungen, Benutzer Profile, Kontakte und Nachrichten. Bitte schauen Sie in die komplette Dokumentation die im » PHP Entwickler Guide auf code.google.com zu finden ist.
|
|