我试图将twitter4j配置为流式传输
现在我想知道如何配置它(http://twitter4j.org/en/configuration.html)
第一种方式:
保存名为" twitter4j.properties"的标准属性文件。将它放在当前目录,类路径目录的根目录。
我使用netbeans并想知道我在创建属性文件时应该选择的文件类型以及我必须放置它的位置?
答案 0 :(得分:3)
回答你的问题:
twitter4j.properties
classpath
的任何文件夹中。请确保该文件夹位于classpath
,这就是需要注意的事项。答案 1 :(得分:1)
美好的一天。
在生产中为独立应用程序使用 twitter4j.properties 文件并不是更好的方法。 因为您需要保证用户中没有人无法读取您的密钥。
因此,最好将配置工厂类与硬编码密钥配合使用,并在流程上进行配置。
答案 2 :(得分:0)
查看此示例,它适用于普通的Twitter对象,但同样的方法适用于TwitterStream。基本上,使用ConfigurationBuilder Twitter 4j with Netbeans。
答案 3 :(得分:0)
参考以下代码:
//Configuration for twitter4j
ConfigurationBuilder cb = new ConfigurationBuilder();
cb.setDebugEnabled(true)
.setOAuthConsumerKey("*********************")
.setOAuthConsumerSecret("******************************************")
.setOAuthAccessToken("**************************************************")
.setOAuthAccessTokenSecret("******************************************");
//Example for fetching public tweets
//Sample which gives all tweets of Kim Kardarshian
TwitterFactory tf = new TwitterFactory(cb.build());
Twitter twitter = tf.getInstance();
int pageno = 1;
String user = "@KimKardashian";
List<Status> statuses = new ArrayList<Status>();
while (true) {
try {
int size = statuses.size();
Paging page = new Paging(pageno++, 100);
statuses.addAll(twitter.getUserTimeline(user, page));
if (statuses.size() == size)
break;
}
catch(TwitterException e) {
e.printStackTrace();
}
}
//sample which gives "n" (here 10) tweets of particular user
try{
Twitter twitter = TwitterFactory.getSingleton();
Paging p = new Paging();
p.setCount(10);
statuses.addAll(twitter.getUserTimeline("user",p));
}catch(Exception e)
{ e.printStackTrace(); }
for (Status st:statuses) {
System.out.println(st.getText());
}