He estado viendo este asunto del pbSubHubbu y hay algunos detalles que aun no termino de comprender del todo, a ver si me ayudan.
He creado este "Action" donde me suscribo al Rss de un sitio, todo funciona bien, ya que se guarda en la base de datos.
Código PHP:
Ver original
public function pbSubHubbubAction() { $dbAdapter = $this->getServiceLocator()->get('Zend\Db\Adapter\Adapter'); $table = new TableGateway('rss_subscription', $dbAdapter); $storage = new \Zend\Feed\PubSubHubbub\Model\Subscription($table); $subscriber = new \Zend\Feed\PubSubHubbub\Subscriber; $subscriber->setStorage($storage); $subscriber->addHubUrl('http://pubsubhubbub.appspot.com'); $subscriber->setTopicUrl('http://notizblog.org/feed/'); $subscriber->setCallbackUrl('http://mysite.com/rss/cron/callback'); $subscriber->subscribeAll(); return $json; }
En la db genera el Siguiente registro
Código PHP:
id : 59f61b63192aa4d6561eae7e4da817d8
topic_url : http://notizblog.org/feed/
hub_url : http://pubsubhubbub.appspot.com
created_time : 2013-01-22 09:06:13
lease_seconds : 432000
verify_token : 3867d706987a1a3b1061b3930310b0a3246dee1a529b6e95ed3cc58018240f46
secret :
expiration_time : 2013-01-27 09:08:00
subscription_state : verified
Luego Implemento el callback
Código PHP:
Ver original
public function callbackAction() { $dbAdapter = $this->getServiceLocator()->get('Zend\Db\Adapter\Adapter'); $table = new TableGateway('rss_subscription', $dbAdapter); $storage = new \Zend\Feed\PubSubHubbub\Model\Subscription($table); $callback = new \Zend\Feed\PubSubHubbub\Subscriber\Callback; $callback->setStorage($storage); $subscriptionKey = $this->params()->fromRoute('key'); $callback->setSubscriptionKey($subscriptionKey); $callback->handle(); $callback->sendResponse(); if ($callback->hasFeedUpdate()) { $feedString = $callback->getFeedUpdate(); //qui debe estar mi proceso } }
Esto es lo que no me queda muy claro, la url que le paso para probrar es
http://mysite.com/rss/cron/callback/...1eae7e4da817d8 pero no me muestra nada.
Como se supone que debe funcionar el callback? alguna Idea? o me perdí de algo