流式传输包括受保护的Twitter时间线

时间:2015-08-11 21:36:23

标签: php api symfony twitter streaming

我正在创建一个简单的Twitter应用,我希望在其中流式传输登录用户的时间轴,但我无法找到正确的方法。

使用硬编码参数它可以正常工作,但我不知道如何将登录用户(令牌,他们正在关注的人)传递给流处理器(它是单独运行的,终端),它检查正确的时间表并将其返回。

我还希望得到受保护人员的推文,但是Stream API并不支持。

我正在使用Impensavel\Floodgate库,并且我的简单硬编码类看起来像这样:

class Streaming extends Floodgate
{
    /**
     * {@inheritDoc}
     */
    public function getParameters()
    {
        return [
            'follow' => 83408038
        ];
    }
}

这启动了实际的请求,我刚刚发出了一个Symfony命令:

class StreamCommand extends ContainerAwareCommand
{

 protected function configure()
    {
        $this->setName('stream:start');
    }
 protected function execute(InputInterface $input, OutputInterface    $output)
  {
    $config = [
        'consumer_key' => '**',
        'consumer_secret' => '**',
        'token' => '**',
        'token_secret' => '**',
    ];

    $stream = Streaming::create($config);

    $stream->filter(function ($data) {
        if(isset($data->text)){
            echo $data->text . PHP_EOL;
        }
    });
  }
}

我可以通过什么样的逻辑实现每个用户自己的时间线的流式传输,包括受保护的用户?

1 个答案:

答案 0 :(得分:0)

最后,我设法使用ReactPHP来运行流程来解决这个问题,并且Ratchet与客户端进行通信。