gpt4 book ai didi

java - getLocation() 始终返回 null,搜索 Twitter

转载 作者:行者123 更新时间:2023-11-30 07:21:18 25 4
gpt4 key购买 nike

每次我在推文中搜索位置时,它都会返回 null,这是我的代码,有什么想法吗?

ConfigurationBuilder cb = new ConfigurationBuilder();
cb.setOAuthConsumerKey("8888888888888888888");
cb.setOAuthConsumerSecret("8888888888888888888888888");
cb.setOAuthAccessToken("8888888888888888888888");
cb.setOAuthAccessTokenSecret("8888888888888888888888888888");

Twitter twitter = new TwitterFactory(cb.build()).getInstance();
Query query = new Query("London");
query.setRpp(1000000);


QueryResult result = twitter.search(query);

ArrayList tweets = (ArrayList) result.getTweets();


for (int i = 0; i < tweets.size(); i++) {
Tweet t = (Tweet) tweets.get(i);
String user = t.getFromUser();
GeoLocation l = t.getGeoLocation();
String locNam = t.getLocation();
String msg = t.getText();
Date d = t.getCreatedAt();
println(locNam + "");

我可以让 getGeoLocation() 正常工作,它们很少而且相差很远,但我确实得到了一些,但是使用 getLocation 每次搜索都返回 null。

任何帮助将不胜感激!干杯

最佳答案

@JohnSmith,我成功了。

事实证明,如果用户单击按钮将位置添加到他们的推文,Status.getLocation()(或 Tweet.getLocation())会起作用。如果您选择不这样做,那么您的位置将不会发布,并将返回 null。

我使用我的测试 Twitter 帐户对此进行了测试:@Saviour_Self在我最近的帖子中,我给出了一个位置,当我运行我的应用程序时,它返回了位置。我运行了一个循环以从我的帐户获取所有状态更新,其中只有一个返回了位置。

for (Status s : tweets) {
System.out.println(s.getLocation()); //Returned the location of the tweet.
System.out.println(s.getUser().getLocation()); /* Returned the
User Profile Location (always constant)*/
}

请记住,我使用 JTwitter 而不是 Twitter4j 来执行此操作,但结果应该是相同的。继续在我的账户上测试你的程序。只有最近的帖子才会返回非空位置。

关于java - getLocation() 始终返回 null,搜索 Twitter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13440414/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com