我是Twitter4j的新手,我正试图通过JSON获取twitter的推文 形成 但我得到一个例外。 我运行了这段代码
public static void main(String[] args) throws IOException {
BufferedReader br =new BufferedReader(new InputStreamReader(System.in));
try {
//Establish Connection to Twitter App
ConfigurationBuilder cb = new ConfigurationBuilder();
cb.setJSONStoreEnabled(true);
twitter= new TwitterFactory(cb.build()).getSingleton();
twitter.setOAuthConsumer(consumerKeyStr, consumerSecretStr);
AccessToken accessToken = new AccessToken(accessTokenStr,
accessTokenSecretStr);
twitter.setOAuthAccessToken(accessToken);
//////
ArrayList<String> JsonTweets =new ArrayList<String>();
QueryResult result = twitter.search(new Query("abc"));
List<Status> resulted_tweets = result.getTweets();
for(Status tweet :resulted_tweets)
{
String json = TwitterObjectFactory.getRawJSON(tweet);
JsonTweets.add(json);
}
System.out.println((Arrays.toString( JsonTweets.toArray())));
}
catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}}
我得到的只是
java.lang.IllegalStateException: Apparently jsonStoreEnabled is not set to true.
at twitter4j.TwitterObjectFactory.getRawJSON(TwitterObjectFactory.java:32)
at JavaTweet.main(JavaTweet.java:86)
虽然我确实在第6行中将其设置为true。 我打算用jsonString将它添加到json对象中,并在结果中找到推文中的一些属性
答案 0 :(得分:2)
您没有配置正确的实例。您将配置传递给TwitterService类的新实例,然后从该实例获取单例..这是您从未配置的另一个实例。
twitterFactory= new TwitterFactory(cb.build());
twitter= twitterFactory.getSingleton();
等于
twitterFactory = new TwitterFactory(cb.build())
twitter = twitterFactory.getInstance();
看到了吗?
解决:
...
<div
tabIndex="0" //use this attribute
id="bigRedDiv"
style={{height : 200, width : 200, backgroundColor : 'red'}}
ref={(input)=> this.my_refs['bigRedDiv'] = input }
onFocus={() => console.log('FOCUS IS ON BIG RED DIV')}
onClick={() => this.focusByID('bigRedDiv')} >
</div>
...