2012-04-12 6 views
2

Ich möchte für eine Gruppe von Benutzern (bis zu 200 oder so) in einem einzigen Anruf für die YouTube - API nach den neuesten Videos suchen (fast in Echtzeit oder höchstens ein paar Minuten) und dann die IDs der hochgeladenen Videos in meiner eigenen Datenbank. Die einzige Lösung, die ich glaube, ist die YouTube SUP API, aber ich bin mir nicht ganz sicher, wie das funktioniert und ich frage mich, ob jemand das erklären könnte. Ich habe die gesamte API-Dokumentation dazu gelesen, bin aber immer noch nicht ganz klar.Wie kann ich die YouTube SUP-API verwenden, um die letzten Uploads einiger vordefinierter Nutzer abzurufen?

Ich ging davon aus, dass man die SUP-URL (http://gdata.youtube.com/sup) aufrufen und überprüfen kann, ob der Benutzer-Hash in letzter Zeit irgendeine Aktivität hatte und wenn ja, dann tu etwas damit. Mein Problem ist, dass ich nicht verstehe, wie Sie die Aktivität von ["b305e88","afd4"] im SUP-Feed interpretieren. Gibt es eine Möglichkeit, eine Untergruppe von Benutzern anzugeben, oder müssen Sie den gesamten Feed durchsuchen? Es dauert einige Sekunden, um das SUP-Feed zu laden.

Auf der SUP API Seite gibt es auch an, dass Sie eine URL wie https://gdata.youtube.com/feeds/api/users/bbc/events?v=2 besuchen können, um den Hash-Schlüssel für den Feed eines Benutzers zu erhalten, aber wie Sie sehen können, wenn Sie versuchen, es zu besuchen, scheint der Link unterbrochen. Wie sonst könnte ich den Hash erhalten?

Ich möchte dies derzeit in einem Rails-Projekt tun, während die Verwendung der youtube_it Edelstein, aber ich glaube nicht, dass dies Unterstützung dafür hat. Korrigiere mich, wenn ich falsch liege.

bearbeiten

Mein Fehler. Der Entwicklerschlüssel ist erforderlich, um die Ereignisse eines Benutzers wie https://gdata.youtube.com/feeds/api/users/bbc/events?v=2&key=YOUR_DEVELOPER_KEY

noch keinen Fortschritt mit der SUP-Methode zu erhalten, obwohl ich möglicherweise erwäge, einen Kanal zu verwenden und nur automatisch jeden Benutzer abonnieren. Jede Minute werde ich dann nach den neuen Videos durch die Benutzer fragen.

Antwort

2

würde ich mit PubSubHubbub vorschlagen: http://apiblog.youtube.com/2010/10/pubsubhubbub-for-youtube-activities.html

Ein Handler in Ihrer Web-Anwendung wird automatisch eine POST erhalten, wenn einer der Zuläufe Sie sehen gerade aktualisiert wird, und den Inhalt des POST wird der aktuelle RSS-Feed sein Sie sparen sich die Mühe, sie holen zu müssen.

Es gibt nicht viel Dokumentation spezifische PuSH und die YouTube API jenseits dieses Blog-Post zu verwenden, aber die allgemeinen PuSH docs alle gelten: https://pubsubhubbub.appspot.com/

Gelingt das nicht, SUP sollte immer noch funktionieren, und so konnten wir zu debuggen versuchen das weiter, wenn Sie das lieber verwenden würden.

+0

Derzeit habe ich es geschafft, dies zu lösen, indem ich regelmäßig (alle 10 Sekunden) die neuen Abonnementvideos eines Kontos anfordere, das ich speziell für den Dienst erstellt habe, aber ich werde PubSubHubbub auf jeden Fall nachsehen. Vielen Dank! – joshcollie