目前我正在使用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错了吗?
答案 0 :(得分:0)
听起来你正在使用setFollow()
权利 - 假设你的意思是在调用setFollow()
之后你没有收到任何推文,这可能仅仅是因为用户ID是你关注的不是发推文。
也就是说,流媒体API应该返回与一个或多个过滤器匹配的推文,因此任何现有的跟踪关键字都应该继续存在。
上面粘贴中生成的网址参数是正确的。
尝试将自己的用户ID添加到关注列表中并自行发推文 - 您应该会看到推文的结束。