gpt4 book ai didi

java - 有没有办法根据状态 ID :s 列表检索 Twitter 状态

转载 作者:行者123 更新时间:2023-12-02 10:53:53 25 4
gpt4 key购买 nike

我目前正在尝试根据 Twitter 状态 id:s 的长列表(>50k)获取一组状态。目前我正在使用 Java 和 twitter4j。如果可能的话,我真的很想避免对每个 id 进行单独调用,但任何比我当前代码(见下文)更快的方法将不胜感激。

public class TweetById {
private static String consumerKey = ...;
private static String consumerSecret = ...;
private static String accessToken = ...;
private static String accessTokenSecret = ...;

public static void main(String[] args) {
// connect to Twitter
ConfigurationBuilder cb = new ConfigurationBuilder();
cb.setDebugEnabled(true);
cb.setOAuthConsumerKey(consumerKey);
cb.setOAuthConsumerSecret(consumerSecret);
cb.setOAuthAccessToken(accessToken);
cb.setOAuthAccessTokenSecret(accessTokenSecret);

Twitter twitter = new TwitterFactory(cb.build()).getInstance();

String[] ids = new String[]{"327664925705109505", "327665399644696576","327666368516341761"};
for(String id : ids){
try {
Status status = twitter.showStatus(Long.parseLong(id));
System.out.println("Time: " + status.getCreatedAt() + ": " + status.getText());
} catch (NumberFormatException e) {
e.printStackTrace();
} catch (TwitterException e) {
e.printStackTrace();
}
}
}

}

编辑:我现在尝试在 twitter4j 中使用异步方法,但我似乎无法让它工作。我有什么遗漏的吗?

public class TweetById {
private static String consumerKey = ...;
private static String consumerSecret = ...;
private static String accessToken = ...;
private static String accessTokenSecret = ...;

public static void main(String[] args) {
// connect to Twitter
ConfigurationBuilder cb = new ConfigurationBuilder();
cb.setDebugEnabled(true);
cb.setOAuthConsumerKey(consumerKey);
cb.setOAuthConsumerSecret(consumerSecret);
cb.setOAuthAccessToken(accessToken);
cb.setOAuthAccessTokenSecret(accessTokenSecret);

// The factory instance is re-useable and thread safe.
AsyncTwitterFactory factory = new AsyncTwitterFactory(cb.build());
AsyncTwitter asyncTwitter = factory.getInstance();
asyncTwitter.addListener(new TwitterAdapter() {
@Override
public void gotShowStatus(Status status) {
System.out.println("Time: " + status.getCreatedAt() + ": " + status.getText());
}
});

String[] ids = new String[] { "327664925705109505", "327665399644696576", "327666368516341761" };
for (String id : ids) {
asyncTwitter.showStatus(Long.parseLong(id));
}

}

}

最佳答案

这并不理想,但您可以使用 lookup(long[] ids)一次检索最多 100 个雕像。

关于java - 有没有办法根据状态 ID :s 列表检索 Twitter 状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28193189/

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