2017-04-19 40 views
1

標題很混亂,我知道,但我不知道怎麼說這個問題。如何獲取轉推的轉發者列表?

使用twitter4j,我能夠得到的鳴叫,誰已轉推是推特的用戶列表,like this

但是,如果鳴叫實際上是轉推我就不是能夠得到retweeters名單。 Example

這是我使用得到retweeters列表代碼:

if(tweet.getId() > 0 && tweet.getRetweetCount() > 0) { 
    try { 
     List<Status> statuses = twitter.getRetweets(tweet.getId()); 
     for (Status status : statuses) { 
      System.out.println("\n" + "\t" + "Retweeter ID:" + status.getUser().getId() + "\n" + "\t" + "Retweeter Name:" + status.getUser().getScreenName()); 
     } 
    } catch (TwitterException e) { 
     //twitter.getRetweeterIds(tweet.getId(), 2, -1); 
     e.printStackTrace(); 
    } 
} 

我如何獲得一個轉推的retweeters?

+0

您是否有預期響應的Twitter API?這是你想要遵循的參考 – MrJLP

+0

@MrJLP 4我檢查了twitter api控制檯。它不給我任何結果。我正在對twitter api進行此調用:GET https://api.twitter.com/1.1/statuses/retweets/854183122266497024.json –

+0

您正在檢索它作爲轉推?如何獲得原來的推文。我想象會有它。你需要了解API的工作原理 – MrJLP

回答

0

Twitter4J是一個與Twitter REST API接口的Java客戶端庫。 要理解正確的調用方式,最好了解底層的REST API。

看看Twitter Rest API我們可以看到一個API,它返回推特轉推用戶列表GET statuses/retweeters/ids

在您的代碼中,Twitter4J您使用的API getRetweets()不會返回轉推用戶的ID。在Twitter4JTwitter4J API docs

尋找,我們發現getRetweeterIds(statusId)一個返回retweed通過statusId表示的特定的tweet的用戶ID列表。