2

Pubsubhubub を使用して、リアルタイムの RSS フィードの更新を取得しようとしています。そのためにPHPを使用しています。

例として、thenextweb を購読しました。

$hub_url = "http://pubsubhubbub.appspot.com/";
$callback_url = "http://xx.com/rss/callback.php";
$feed = "http://feeds2.feedburner.com/thenextweb";
$sub = new Subscriber($hub_url, $callback_url);
$status = $sub->subscribe($feed);

ハブがコード 202 を返し、その後、hub_challenge などを含む callback.php への「GET」応答を受け取ります。この番号をエコーするというチュートリアルの提案に従ったため、ハブは更新をコールバックにプッシュできます。

if ($method == 'GET' && $_GET['hub_mode'] == 'subscribe') { 
$challenge = $_GET['hub_challenge'];
header('HTTP/1.1 200 "OK"', null, 200);
header('Content-Type: text/plain');
echo $challenge;
}

そんな感じでチャレンジナンバーをエコーし​​ます。ここでの問題は、コールバックで POST メッセージを処理する条件があるにもかかわらず、ハブから他のメッセージを取得できないことです。

else if ($method == 'POST') {
$updates = json_decode(file_get_contents("php://input"), true);
//doing stuff with the data here
}

問題がエコー部分にあるのか、それ以降なのかはわかりません。誰かが同様の問題を抱えていますか?私は何を間違っていますか?

4

1 に答える 1