8

PHPサイトにPubSubHubbubを実装する方法を知りたいのですが、よくわかりません。わからない。パブリッシャーはサブスクライバーとサブスクライバーに通知します - 私のサイト?

    <?php

// simple example for the PHP pubsubhubbub Subscriber
// as defined at http://code.google.com/p/pubsubhubbub/
// written by Josh Fraser | joshfraser.com | josh@eventvue.com
// Released under Apache License 2.0

include("PuSHSubscriber.php");

$hub_url = "http://pubsubhubbub.appspot.com";
$callback_url = "url to my site?";

$feed = "feed link";

// create a new subscriber
$s = new Subscriber($hub_url, $callback_url);

// subscribe to a feed
$s->subscribe($feed);
// unsubscribe from a feed
//$s->unsubscribe($feed);

?>

または、$hub_url に自分のハブを投稿する必要がありますか?

4

2 に答える 2

14

あなたは購読者のようです。つまり、フィードの更新時に通知を受け取りたいということです。プロセスは次のとおりです。

  1. ハブの URL を見つけます。フィードには rel="hub"の<link>(または) 要素が必要です。<atom:link>href には、ハブの URL が含まれています。そこには多くの異なるハブがあります!

  2. コールバック url を実装します。この URL (外部 (つまり、localhost ではなく) からアクセスできる必要があります) は、新しいコンテンツが利用可能になると、ハブによって呼び出されます。また、検証メカニズムも実装する必要があります (以下を参照)。

  3. ハブへのサブスクリプション リクエストを実行します。これは、次のパラメータを使用したハブ URL (1. を参照) への POST リクエストです。デバッグしやすい)。

  4. ハブは、hub.verify_token パラメータを使用して確認リクエストを callback に送信します。サブスクリプションを検証するには、アプリでこのパラメーターをエコーする必要があります。

  5. すべてが正常であれば、ハブは 204 を返し、準備完了です。そうでない場合は、4XX が返されます。本文には失敗したことが示されているため、本文を確認する必要があります。

  6. その後、サブスクリプションが確認されると、本文に更新の内容が含まれるPOST 要求が送信されます。

  7. (毎日再登録する必要があります。実際の時間は、ハブの指示によって異なります。)

既存のライブラリを使用しているようです。上記のすべての手順を実装する必要があります。それでも、内部で何が起こっているかを理解することは重要なことなので、自分で実装することをお勧めします。それほど複雑ではありません。$s->subscribe($feed);コールバックが「外部」からアクセスできることを確認し、それが実際にサブスクリプションの結果を返さないことを確認してください 。

より完全な PubSubHubbub チュートリアルが必要な場合は、こちらを確認してください

幸運を!

于 2010-10-02T20:19:11.703 に答える
0
  • $hub_urlは、サードパーティ ハブの URL です。
  • $topic_urlは、購読している「フィード」です
  • $callback_urlは、ハブが新しい​​結果を取得したときに ping を実行するサーバー上の URL です。

それが役立つことを願っています!

于 2010-10-02T19:13:24.590 に答える