1

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"]);

}

しかし、ログ ファイルとデータベースでも何も起こりません。誰かが何か考えを持っているので、ここで何が悪いのか教えてください。ありがとう。

4

0 に答える 0