Я создаю простое приложение для Твиттера, в котором я хочу транслировать временную шкалу вошедшего в систему пользователя, но я не могу найти правильный путь.
С жестко закодированными параметрами это работает нормально, но я не знаю, как мне передать зарегистрированного пользователя (токен, которому они следуют) потоковому процессору (который работает отдельно, в терминале), который проверяет правильную временную шкалу и возвращает это.
Я также хотел бы получить твиты защищенных людей, за которыми следит пользователь, но 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 для связи со стороной клиента.
Других решений пока нет …