流式传输多个 Twitter 时间线,包括受保护的
Stream multiple Twitter timelines including protected
我正在创建一个简单的 Twitter 应用程序,我想在其中流式传输登录用户的时间线,但我想不出正确的方法。
使用硬编码参数它工作正常,但我不知道我应该如何将登录用户的(令牌,他们正在关注的人)传递给流处理器(分别为 运行,在终端),检查正确的时间线并 returns 它。
我也想获取用户关注的受保护人的推文,但 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;
}
});
}
}
通过什么样的逻辑可以实现每个用户自己的时间线的流式传输,包括受保护的用户?
最后,我设法通过使用 ReactPHP 运行 流处理和 Ratchet 与客户端通信解决了这个问题。
我正在创建一个简单的 Twitter 应用程序,我想在其中流式传输登录用户的时间线,但我想不出正确的方法。
使用硬编码参数它工作正常,但我不知道我应该如何将登录用户的(令牌,他们正在关注的人)传递给流处理器(分别为 运行,在终端),检查正确的时间线并 returns 它。
我也想获取用户关注的受保护人的推文,但 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;
}
});
}
}
通过什么样的逻辑可以实现每个用户自己的时间线的流式传输,包括受保护的用户?
最后,我设法通过使用 ReactPHP 运行 流处理和 Ratchet 与客户端通信解决了这个问题。