我想实时收听一条推文,这意味着当有人发推文时,我希望看到该推文。
但是,我可以使用twitter4j库从新闻提要中获取推文。这是代码。
package twitteroperation;
import java.util.List;
import twitter4j.Status;
import twitter4j.TwitterException;
import twitter4j.TwitterFactory;
import twitter4j.conf.ConfigurationBuilder;
public class TwitterOperation {
/**
* @param args the command line arguments
*/
public static void main(String[] args) throws TwitterException {
ConfigurationBuilder cb = new ConfigurationBuilder();
cb.setDebugEnabled(true)
.setOAuthConsumerKey("")
.setOAuthConsumerSecret("")
.setOAuthAccessToken("")
.setOAuthAccessTokenSecret("");
TwitterFactory tf=new TwitterFactory(cb.build());
twitter4j.Twitter tw=tf.getInstance();
List<Status> statuses= tw.getHomeTimeline();
for (Status status1 : statuses) {
System.out.println(status1.getUser().getName() + ":" + status1.getText());
}
}
}
我发现必须使用Streaming API才能实时访问tweets。但是我在Java中找不到任何示例代码来访问深绿色时间推文。
Twitter4j提供了示例,其中一个正是您要查找的示例,但是您需要更改行号
TwitterStream twitterStream = new TwitterStreamFactory().getInstance();
与
ConfigurationBuilder cb = new ConfigurationBuilder();
cb.setDebugEnabled(true).setOAuthConsumerKey("")
.setOAuthConsumerSecret("")
.setOAuthAccessToken("")
.setOAuthAccessTokenSecret("");
TwitterStream twitterStream = new TwitterStreamFactory(cb.build())
.getInstance();
如果没有,则必须配置属性文件。之后,您将获得此代码
import twitter4j.*;
import twitter4j.conf.ConfigurationBuilder;
public final class PrintSampleStream {
public static void main(String[] args) throws TwitterException {
ConfigurationBuilder cb = new ConfigurationBuilder();
cb.setDebugEnabled(true).setOAuthConsumerKey("")
.setOAuthConsumerSecret("")
.setOAuthAccessToken("")
.setOAuthAccessTokenSecret("");
TwitterStream twitterStream = new TwitterStreamFactory(cb.build())
.getInstance();
StatusListener listener = new StatusListener() {
@Override
public void onStatus(Status status) {
System.out.println("@" + status.getUser().getScreenName() + " - " + status.getText());
}
@Override
public void onDeletionNotice(StatusDeletionNotice statusDeletionNotice) {
System.out.println("Got a status deletion notice id:" + statusDeletionNotice.getStatusId());
}
@Override
public void onTrackLimitationNotice(int numberOfLimitedStatuses) {
System.out.println("Got track limitation notice:" + numberOfLimitedStatuses);
}
@Override
public void onScrubGeo(long userId, long upToStatusId) {
System.out.println("Got scrub_geo event userId:" + userId + " upToStatusId:" + upToStatusId);
}
@Override
public void onStallWarning(StallWarning warning) {
System.out.println("Got stall warning:" + warning);
}
@Override
public void onException(Exception ex) {
ex.printStackTrace();
}
};
twitterStream.addListener(listener);
twitterStream.sample();
}
}
这样,您将开始接收示例公共流。如果要获取特定的推文,则需要使用一些过滤器。例如,如果您想要特定查询的推文,则需要更改此行
twitterStream.sample();
用你想要的词
FilterQuery filtre = new FilterQuery();
String[] keywordsArray = { "obama" };
filtre.track(keywordsArray);
twitterStream.filter(filtre);
如果要流式传输特定配置文件中的推文,则需要使用关注过滤器。twitterStream.sample();
您需要为此更改的行
long[] users = new long[]{someid,someotherid,otherid};
twitterStream.addListener(listener);
FilterQuery filtre = new FilterQuery();
filtre.follow(users);
twitterStream.filter(filtre);
数组的ID是Twitter用于每个用户的ID。如果您不知道某个用户的ID,则可以通过Twitter4j获得它:
User user = tw.showUser("barackobama"); //tw is your Twitter variable from twitter4j.Twitter tw=tf.getInstance();
long id = user.getId();
有更多方法可以从流中检索推文,您只需阅读文档或在此站点上进行搜索。祝好运!
我正在尝试使用Twitter API实时收听许多用户(特定用户)的推文,但我无法找到任何关于此的留档。我发现了很多关于收听使用某个主题标签或关键字的推文的信息,但没有关于实时收听来自某些用户的所有推文的信息。 使用Twitter4J API,我能够指定多个用户,创建一个流,然后在其中一个用户发推文时运行一段代码。我如何使用PHP完成这一点?
我正在尝试使用Twitter API的第2版来实现标题中描述的目标。到目前为止,我已经尝试了以下内容: > 只使用一个规则设置监听过滤流,即规则。但它会返回以下两个错误: "对无效操作符'has: geo'的引用。操作符在当前产品或产品包装中不可用。请参阅https://developer.twitter.com/en/docs/twitter-api/enterprise/rules-and-f
问题内容: 从很长一段时间以来,我一直在尝试收听.pls文件(广播)。我不得不说我失败了。由于StreamFurious可以做到,因此一定有可能。首先,我尝试通过套接字(TCP和UDP)连接到shoutcast –>失败。我什至无法从服务器收到一个字节。 我快要哭了。我什至不知道建立连接并随后不断下载/接收数据流的最佳方法是什么。 我真的希望有人可以指出正确的方向,并提供一个简短的代码段(如果有)
问题内容: 我有一个。当用户在更改时按下键时,我会tp做点什么。我怎样才能做到这一点? 最简单的方法: 问题答案: 文本观察器的示例代码
我在JMeter中有一个性能测试。我有一些SSH监听器,它们应该检索CPU和RAM的使用情况。我希望得到一个关于Jmeter在测试运行时收集侦听器值所使用的延迟的明确解释。用户是否可以设置延迟值?如果可以,Jmeter支持的最小值是多少。目前的数据收集监听器是有点随机的,我认为这是不好的。目前,我在结果中没有类似数量的条目,尽管在两个监听器中我有相同数量的命令。我试图将jmeter.propert
问题内容: 当我查看net / http服务器接口时,没有看到一种明显的方式来通知并在http.Server启动并 开始 侦听时作出反应: 直到服务器真正关闭后,该函数才返回。我还查看了服务器类型,但似乎没有什么可以让我把握这一时机。某些功能或频道会很棒,但我看不到任何东西。 有什么方法可以让我检测到该事件,还是我只需要“熟睡”一下以伪造它? 问题答案: ListenAndServe是一个帮助程序