使用setFollow时,Phirehose退出

时间:2012-05-16 15:11:15

标签: php twitter-streaming-api phirehose

目前我正在使用Phirehose跟踪Twitter流中的关键字,并希望跟踪用户。

但是当我在setFollow()方法中使用checkFilterPredicates()时,Phirehose会在初始连接后停止工作。

public function checkFilterPredicates() {
    $this->setFollow(array(12));
}

这是控制台输出:

Phirehose: Connecting to twitter stream: https://stream.twitter.com/1/statuses/f
ilter.json with params: array (  'delimited' => 'length',  'follow' => '12',)
Phirehose: Resolved host stream.twitter.com to 199.59.148.138
Phirehose: Connecting to ssl://199.59.148.138, port=443, connectTimeout=5
Phirehose: Connection established to 199.59.148.138
Phirehose: POST /1/statuses/filter.json HTTP/1.0

Phirehose: Host: stream.twitter.com:443

Phirehose: Content-type: application/x-www-form-urlencoded

Phirehose: Content-length: 26

Phirehose: Accept: */*

Phirehose: Authorization: Basic: dHdpenlvbjpUZW1wbzEyMw==

Phirehose: User-Agent: Phirehose/0.2.gitmaster +https://github.com/fennb/phireho
se

Phirehose:

Phirehose: delimited=length&follow=12

Phirehose:


c:\devel\stream>

如果我使用setTrack()代替array('keyword1', 'keyword2'),则代码相同。

我使用setFollow错了吗?

1 个答案:

答案 0 :(得分:0)

听起来你正在使用setFollow()权利 - 假设你的意思是在调用setFollow()之后你没有收到任何推文,这可能仅仅是因为用户ID是你关注的不是发推文。

也就是说,流媒体API应该返回与一个或多个过滤器匹配的推文,因此任何现有的跟踪关键字都应该继续存在。

上面粘贴中生成的网址参数是正确的。

尝试将自己的用户ID添加到关注列表中并自行发推文 - 您应该会看到推文的结束。