私が最初に試みることは、ライブラリのことは忘れて、サブスクライバーのコンテキストで何が起こっているかを正確に理解しようとすることです。これらすべてをまとめて処理するスクリプトを作成するのは、非常に簡単です。
サブスクライバー アプリケーションは、次の 2 つのことを行う必要があります。
- サブクリプションを承認する: ハブは、サブスクリバーの意図を確認します。GETリクエストです
- 着信 ping を処理します。POSTリクエストです。
それでは始めましょう:
- ハブからの GET 要求を処理するためにベールが必要な Web 上のどこかにスクリプトを配置します (ファイアウォールの背後からアクセスできる必要があります)。応答の本文で取得し、200 を返すパラメーターのみをエコーすることを確認してください。
hub.challenge
- コマンド ラインから次のコマンドを送信します。
curl -X POST http://pubsubhubbub.appspot.com/ -d'hub.mode=subscribe' -d'hub.verify=sync' -d'hub.topic=http://the.feed.url' -d'hub.callback=http://the.script.url' -D-
- スクリプトに着信検証要求が表示されます。理想的には (ステップ 1 に従った場合、hub.challenge をエコーして 200 を返す必要があります。
これで問題がなければ、送信する curl リクエストは、ハブが 204 を返したことを通知するはずです。それ以外の場合は、レスポンスの本文を確認してください。問題の原因が示されます。
後で...
- スクリプトは POST リクエストを受け取ります。新コンテンツのお知らせです!
- この POST 要求の未加工の本文 (XML) を解析します。これにはフィードが含まれ、新しいエントリのみが含まれます。
- 解析されたコンテンツに対して必要なことは何でも行います (データベースへの保存など)。
これが役立つことを願っています。このツールを使用して、ヘルプが必要なサブスクリプションをデバッグすることもできます。