我正在创建一个简单的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;
}
});
}
}
我可以通过什么样的逻辑实现每个用户自己的时间线的流式传输,包括受保护的用户?
答案 0 :(得分:0)
最后,我设法使用ReactPHP来运行流程来解决这个问题,并且Ratchet与客户端进行通信。