Как реализовать PubSubHubbub?

Мне интересно, как реализовать PubSubHubbub на PHP-сайте. Я этого не понимаю. Можете ли вы объяснить мне? Я не понимаю. Издатель уведомляет подписчика и подписчика – мой сайт?

<?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 я должен опубликовать свой центр?

    Похоже, вы подписчик, а это значит, что вы хотите получать уведомления об обновлениях в фиде. Вот этот процесс:

    1. Найдите URL-адрес концентратора . В фиде должен быть элемент <link> (или <atom:link> ) с rel = "hub". В href содержится URL-адрес концентратора. Там много разных концентраторов!

    2. Внедрите URL-адрес обратного вызова . Этот url (который должен быть доступен извне (так, а не localhost!) Будет вызываться концентратором, когда новый контент доступен для вас. Он также должен реализовать механизм проверки (см. Ниже)

    3. Выполните запрос на подписку на концентратор : это POST-запрос к URL-адресу концентратора (см. 1.) со следующими параметрами: hub.topic = hub.callback = hub.mode = subscribe hub.verify = sync (сохранить синхронизацию, так как это легче отлаживать).

    4. Концентратор отправит запрос проверки на ваш обратный вызов с параметром hub.verify_token. Затем ваше приложение должно повторить этот параметр для проверки подписки.

    5. Если все в порядке, хаб вернет 204, и вам будет хорошо идти. Если нет, он вернет 4XX, и вы должны проверить тело, поскольку оно включает в себя указания на то, что не удалось.

    6. Позже, как только подписка будет подтверждена, вы получите POST-запросы с содержимым обновления в теле.

    7. (Вы должны переписываться каждый день. Фактическое время зависит от того, что вам скажет хаб.)

    Похоже, вы используете существующую библиотеку. Он должен выполнить все шаги сверху. Тем не менее, важно понять, что происходит под капотом, поэтому вы можете реализовать его самостоятельно. Это не так сложно. Убедитесь, что ваш обратный вызов доступен из «снаружи» и проверьте, что $s->subscribe($feed); на самом деле не возвращает результат подозрительности, поскольку это поможет.

    Если вам нужен более полный учебник PubSubHubbub, проверьте его .

    Удачи!

    • $ hub_url – это URL-адрес стороннего концентратора
    • $ topic_url – это «фид», на который вы подписались
    • $ callback_url – это URL-адрес вашего сервера, на который нужно пинговать новые результаты, когда хаб получает их.

    Надеюсь, это поможет!