2012-05-16 4 views
0

현재 Phirehose를 사용하여 Twitter 스트림에서 키워드를 추적하고 사용자를 추적하려고합니다.setFollow를 사용하면 Phirehose가 종료됩니다.

그러나 내 checkFilterPredicates() 메서드에서 setFollow()을 사용하면 초기 연결 후에 Phirehose가 작동하지 않습니다.

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

가 그리고 이것은 콘솔 출력입니다 : 내가 대신 array('keyword1', 'keyword2')setTrack()를 사용하는 경우

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> 

, 동일한 코드가 작동합니다.

setFollow를 잘못 사용하고 있습니까?

답변

0

setFollow()을 사용하고있는 것처럼 들리 겠지만 setFollow()을 호출 한 후에 짹짹이 나오지 않는다고 가정 할 때 추종자의 사용자 ID가 tweeting이 아니기 때문일 수 있습니다. .

그런데 스트리밍 API는 개의 일치 항목 인 개의 필터를 반환해야하므로 기존의 모든 트랙 키워드가 계속 전달되어야합니다.

위의 붙여 넣기에서 생성 된 URL 매개 변수가 정확합니다.

팔로 잉 목록에 자신의 사용자 ID를 추가하고 트위터를 열어보십시오. 트윗을보아야합니다.

+0

나는 내 사용자 ID를 시도했으며 예상대로 작동하는 URL을 삭제하려고 시도했습니다. 예상되는 동작은 현재 Phirehose가 트윗을 기다리는 것이 아니라는 것입니다. setTrack 만 사용하면 실제로 작동합니다. 짹짹이 올 때까지 계속 듣고 계속 기다리고 있습니다. 그러나 setFollow를 사용하면 명령 행으로 빠져 나가기 만하면됩니다. – frbry