Reputation: 11
$sc = new FilterTrackConsumer(OAUTH_TOKEN, OAUTH_SECRET, Phirehose::METHOD_FILTER);
$sc->setTrack(getTrackKeywords());
$sc->consume();
returns tweets that contain certain keywords, from any users.
$sc = new MyUserConsumer(OAUTH_TOKEN, OAUTH_SECRET);
$sc->consume();
returns tweets by the authorized (logged-in) user.
How do I get a stream that returns tweets tweeted by a specific user-- a user other than the one logged in / oauthed?
Upvotes: 0
Views: 786
Reputation: 28913
If you just want the public tweets of a set of users, take a look at the example/filter-track.php code that comes with Phirehose, but use setFollow()
instead of setTrack()
. The parameter to setFollow()
is a list of Twitter IDs (Important: you have to convert screen names to twitter IDs yourself, first). More on that here: https://dev.twitter.com/docs/streaming-apis/parameters#follow
Note: Those users do not need to have given you permission: you are just seeing what they are showing to the world.
If you want to get all Twitter activity from a bunch of users then you need to use Twitter's Site Stream API. See example/sitestream.php in the Phirehose files for that. (I was the one who wrote that example, but I have never been able to test it: Site stream has been in closed beta since the Dawn Of Time, and it is so "closed" they even ignore our requests for a developer test account!)
The middle ground is the User Streams API. This allows you to get all Twitter activity but for just one user. If you can get each user to not just permission your app, but also give you their secret keys, you could run multiple Phirehose instances, one per user, and amalgamate all the data in a central database. This would be the poor-man's Site Streams :-)
Upvotes: 0
Reputation: 11
I think I found it.
$sc->setFollow(array(
1234, 5678, 901234573 //The user IDs of the twitter accounts to follow. All of
//these users must have given your app permission.
));
Upvotes: 1