由于Twitter转移到API v1.1,我尝试切换到Twitter4j来执行我的查询。我在twitter上设置了我的开发帐户,我很确定我已经设置了OAuth确定:
ConfigurationBuilder cb = new ConfigurationBuilder();
cb.setDebugEnabled(true).setOAuthConsumerKey("XXX")
.setOAuthConsumerSecret("XXX")
.setOAuthAccessToken("XXX")
.setOAuthAccessTokenSecret("XXX");
Twitter twitter = new TwitterFactory(cb.build()).getInstance();
System.setProperty("twitter4j.debug", "true");
try
{
String url = "q=%40twitterapi%20-via";
Query query = new Query(url);
QueryResult result;
do
{
result = twitter.search(query);
List<Status> tweets = result.getTweets();
for (Status tweet : tweets)
{
results.add(getInfoFromTweet(tweet));
}
} while ((query = result.nextQuery()) != null);
} catch (TwitterException te)
{
Log.e(TAG, "Problem gettibng results from twitter: " + url, te);
}
主要的问题是我从来没有在结果中返回任何推文,尽管我看到结果本身似乎有了很好的形成。当我直接在网络浏览器中试用时,我正在使用的查询字符串肯定会提供大量结果:https://twitter.com/search/realtime?q=%40twitterapi%20-via
另一件事是我无法弄清楚如何从Android中的Twitter4j获取调试输出。我已经尝试了所有我能找到的调试输出,但它要么没有出来,要么我找不到合适的位置!