0

你好,我有推特ID的,我将它们保存到数据库之前。但是我看到我无法有效地节省创建的时间(它像00:00:00一样保存)。因此,我希望通过使用以下代码更新我的tweet与推特id。Twitter4j获取推文太长

MyConnectionBuilder myConnection = new MyConnectionBuilder(); 
    Twitter twitter = new TwitterFactory(myConnection.configuration.build()).getInstance(); 
    Status status = twitter.showStatus(Long.parseLong(tweetId)); 

但是获取推文需要太多时间,是否有任何费率限制?如果有速率限制,我该如何让速度更快?

回答

1

通过showStatus更新每一条推文会浪费您在特定时间范围内的“积分”(限额)。

对于更新多个推文,您应该使用lookup,每个请求的ID最大为100。此呼叫将使用/statuses/lookup端点。

速率限制和端点的文件可以发现here

代码剪断它:

Twitter twitter = twitterFactory.getInstance(); 
ResponseList<Status> responseList = twitter.lookup(ArrayUtils.toPrimitive(ids)); 

    if(responseList != null) { 
     for (Status status : responseList) { 
      // do what you need to do here 

     } 
    }  
+0

您好感谢您的回复,我会尝试,但会是怎样的IDS输入,阵列?或列表?我试过,但我无法找到确切的输入。 @rzo – mstfky

+0

基本输入是数组。示例使用List或Long值集。 – rzo

+0

我修改它为[],我在查找方法中删除了Arrayutils.toPrimitive方法,我只是把我的long []数组。它可能是一个问题吗? @rzo – mstfky