Wie PubSubHubbub zu implementieren?

8

Ich frage mich, wie man PubSubHubbub in einer PHP-Site implementiert. Ich verstehe es nicht. Können Sie mir das erklären? ? Ich verstehe die Idee nicht. Der Publisher benachrichtigt den Abonnenten und den Abonnenten - meine Website?

%Vor%

Oder auf $ hub_url Ich sollte meinen Hub posten?

    
lam3r4370 02.10.2010, 18:36
quelle

2 Antworten

14

Es sieht so aus, als ob Sie ein Abonnent sind. Das bedeutet, dass Sie bei Aktualisierungen im Feed benachrichtigt werden möchten. Hier ist der Prozess:

  1. Suchen Sie nach der Hub-URL . Es sollte ein <link> (oder <atom:link> ) Element im Feed mit sein. Die href enthält die URL des Hubs. Es gibt viele verschiedene Hubs da draußen!

  2. Implementieren Sie eine Rückruf-URL . Diese URL (die von außen zugänglich sein muss (also nicht localhost!) Wird vom Hub aufgerufen, wenn neuer Inhalt für Sie verfügbar ist, und sollte auch den Verifizierungsmechanismus implementieren (siehe unten)

  3. Führt die Abonnementanforderung für den Hub aus : Es handelt sich um eine POST-Anforderung an die Hub-URL (siehe 1.) mit den folgenden Parametern: hub.topic = hub.callback = hub.mode = subscribe hub.verify = sync (Synchronisieren, da es einfacher zu debuggen ist).

  4. Der Hub sendet eine Bestätigungsanforderung an Ihren Rückruf mit dem Parameter hub.verify_token. Ihre App muss dann diesen Parameter für die Validierung des Abonnements enthalten.

  5. Wenn alles in Ordnung ist, wird der Hub 204 zurückgeben und Sie können loslegen. Wenn nicht, wird eine 4XX zurückgegeben und Sie sollten den Körper überprüfen, da er Hinweise darauf enthält, was fehlgeschlagen ist.

  6. Später, nachdem die Abonnements bestätigt wurden, erhalten Sie POST-Anfragen mit dem Inhalt des Updates im Hauptteil.

  7. (Sie müssen jeden Tag neu abonnieren. Die tatsächliche Zeit hängt davon ab, was Ihnen der Hub sagt.)

Sieht so aus, als ob Sie eine vorhandene Bibliothek verwenden. It sollte alle Schritte von oben implementieren. Es ist jedoch wichtig zu verstehen, was unter der Haube vor sich geht, so dass Sie es vielleicht selbst implementieren möchten. Es ist nicht so kompliziert. Stellen Sie sicher, dass auf Ihren Callback von "außerhalb" zugegriffen werden kann, und prüfen Sie, ob $s->subscribe($feed); das Ergebnis des Beitrags tatsächlich zurückgibt, da dies hilfreich wäre.

Wenn Sie ein vollständigeres PubSubHubbub-Lernprogramm benötigen, überprüfen Sie dieses .

Viel Glück!

    
Julien Genestoux 02.10.2010, 20:19
quelle
1
  • $ hub_url ist die URL des Drittanbieter-Hubs
  • $ topic_url ist der Feed, den Sie abonnieren
  • $ callback_url ist die URL auf Ihrem Server, die mit neuen Ergebnissen gepingt werden soll, wenn der Hub sie erhält.

Ich hoffe, das hilft!

    
Jordan Feldstein 02.10.2010 19:13
quelle

Tags und Links