目前我正在使用Phirehose来跟踪Twitter流中的关键字,并希望跟踪用户。
但是当我在checkFilterPredicates()
方法中使用setFollow()
时,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:develstream>
如果我将setTrack()
与array('keyword1', 'keyword2')
一起使用,则相同的代码有效。
我是否使用错误了设置跟踪?
你用对setFollow()
- 假设你的意思是你在打电话后没有收到推文 setFollow()
,这可能只是因为你关注的用户 ID 没有发推文。
也就是说,流式处理 API 应返回与一个或多个筛选器匹配的推文,因此任何现有的跟踪关键字都应继续通过。
在上面的粘贴中生成的 URL 参数是正确的。
尝试将您自己的用户ID添加到关注列表中并自己发推文 - 您应该会看到推文通过。