PubSubHubbub API を使用して superfeedr.com からフィードを取得したいのですが、コールバック応答が機能しません。コールバックに到達できません。これが私のコードです
class Superfeedr
{
private $topic;
private $callback;
private $hub = 'http://superfeedr.com/hubbub';
public $verbose = false;
function __construct($topic, $callback, $hub='')
{
$this->topic = $topic;
$this->callback = $callback;
if ($hub) {
$this->hub = $hub;
}
}
public function request($mode)
{
$post_data = array (
'hub.mode' => 'retrieve',
'hub.callback' => urlencode($this->callback),
'hub.topic' => urlencode($this->topic)
);
foreach ($post_data as $key=>$value) {
$post_data_string .= $key.'='. $value.'&';
}
$url =$this->hub .'?'.$post_data_string;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Accept: application/json'));
curl_setopt($ch, CURLOPT_USERPWD, 'testdata:1234');
curl_setopt($ch, CURLOPT_BUFFERSIZE, 4096);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 25);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
$output = curl_exec($ch);
}
}
そして私のphpファイルは
#Retrieve.php
$superfeedr = new Superfeedr('http://feeds.bbci.co.uk/news/world/asia/rss.xml',
'mydomainurl.com/callback',
'https://push.superfeedr.com');
$superfeedr->verbose = true;
$data = $superfeedr->request('list');
ここで、私のコールバック URL が私の laravel アクションの 1 つであることをお知らせしたいと思います。どれが
public function callback(Request $request)
{
\Log::info("Testing before callback");
if(isset($_Get["hub_challenge"])){
echo $_Get["hub_challenge"];
return;
}
// Just for testing
\DB::table('test')->insert(['name' => "Test callback data. Please ignore"]);
}
しかし、ログ ファイルとデータベースでも何も起こりません。誰かが何か考えを持っているので、ここで何が悪いのか教えてください。ありがとう。