Как использовать Superfeedr с PHP

Я работаю над проектом, который анализирует множество RSS-каналов, и я просто обнаружил, что Superfeedr имеет плохую документацию о том, как использовать их PubSubHubbub API с PHP.

Кто-нибудь может дать мне хороший учебник или пример, как использовать его для подписки на любую ленту?

Спасибо,


person aniss.bouraba    schedule 17.10.2010    source источник


Ответы (4)


API Superfeedr на самом деле является протоколом PubSubHubbub, поэтому я предполагаю, что первым шагом было бы найти хороший способ реализации PubSubHubbub. Здесь есть несколько ссылок, как эта или этот.

person Julien Genestoux    schedule 17.10.2010

Я был там раньше. Вот вывод: 1. Создайте файл PHP на своем сервере и назовите его, например, endpoint.php, чтобы URL-адрес вашего файла был примерно таким: http://yoursite.com/endpoint.php

  1. Вы должны создать учетную запись на superfeedr.com, она должна предоставить вам пользователя / пароль
  2. Ваш PHP-файл должен делать две вещи: подписываться / отказываться от подписки, и в этом случае все, что вы должны писать (только) в своем файле, - это hub_challenge.

    (if(isset($_Get["hub_challenge"])){ 
          echo $_Get["hub_challenge"];
        return;}//to ensure that it only echo the hub_challenge}
    

    После успешной подписки на ваши каналы вы должны (автоматически получить) новое содержимое RSS от superfeeder. Используя PHP, вы должны получить подобное содержимое

    $x=json_decode(file_get_contents("php://input"));
        $x now is an array of new contents.you should do what ever you want with this array.
    --the file endpoint should be like
    if(isset($_Get["hub_challenge"])){
       echo $_Get["hub_challenge"];return;
    }else{
        $x=json_decode(file_get_contents("php://input"));
        //then loop through it or what ever you want 
    }
    

Добавить RSS-ссылку очень просто: просто зайдите на superfeedr.com по ссылке в вашей учетной записи в правом верхнем углу экрана, щелкните по ней и выберите панель управления.

щелкните xmpp, вы увидите список всех ваших каналов. Вы также можете добавить новый канал.

введите ссылку rss (http://example.com/rss.xml) и файл обратного вызова (endpoint.php). что-то вроде http://yoursite.com/endpoint.php

если вы хотите добавить его с помощью кода PHP (в любой файл php). выполните вызов curl с запросом GET, как описано в документации.

person Mohamed Hafez    schedule 24.11.2012

person    schedule
comment
php: // ввод не всегда работает. Лучше использовать переменную $ HTTP_RAW_POST_DATA для чтения полезной нагрузки POST. - person Ilya Novojilov; 21.08.2013

person    schedule
comment
Обратите внимание, что конечная точка Superfeedr изменилась и теперь находится по адресу push.superfeedr.com - person Julien Genestoux; 29.01.2014