1

私はtwitter4j apiを初めて使用します。twitter4jを使用して特定のツイートのお気に入り数を取得する方法はありますか? Twitter4j の API バージョン 3.0.3 を使用しています。

ドキュメントにはメソッドgetFavoriteCount()が存在しますが、同じメソッドがコードでコンパイルエラーを引き起こします。別のバージョンの jar ファイルを使用する必要がありますか?

 public static void main(String[] args) {

     ConfigurationBuilder cb= new ConfigurationBuilder();
        cb.setDebugEnabled(true);
        cb.setOAuthConsumerKey("**************************");
        cb.setOAuthConsumerSecret("**************************");
        cb.setOAuthAccessToken("*******************************");
        cb.setOAuthAccessTokenSecret("*****************************");
        Twitter  twitter = new TwitterFactory(cb.build()).getInstance();
         User user = null;
        try {
            user = twitter.verifyCredentials();
        } catch (TwitterException e1) {
            e1.printStackTrace();
        }

        String[] test = new String[]{"teststr"};
        ResponseList<User> users;
        try {
            users = twitter.lookupUsers(test);

        for (User user1 : users) {
              if (user1.getStatus() != null)
              {
                  Paging paging = new Paging(1, 40);
                  ResponseList<Status> statusess =   twitter.getUserTimeline(user1.getName(),paging);

              for (Status status3 : statusess)
               {
                long retweetCount = status3.getRetweetCount();
                long favoriteCount = status3.getFavoriteCount();/** this line gives compilation error saying the method getFavoriteCount() is undefined for the type Status**/

               }
              }
        }
        } catch (TwitterException e) {
            e.printStackTrace();
        }

 }
4

2 に答える 2

1

残念ながら、3.0.3 リリースの横にリンクされている Twitter4J サイトの JavaDocs は正しくないようです。実際のドキュメントはここにあります- これらには存在しないことがわかりますgetFavoriteCount()

3.0.4Status#getFavoriteCount()でのみ導入されたようです。はい、この方法を使用するには 3.0.3 からアップグレードする必要があります。

バージョン 3.0.4 は現在活発に開発されているように見えることに注意してください。

于 2013-06-18T11:42:38.150 に答える
0

すでに回答を見つけてマークを付けていますが、Twitter4J バージョンを切り替える代わりの方法を提供させてください。

あなたが使用しているものと同様の方法を使用する場合、私は多くの検索を行い、最終的にまったく無関係の投稿で解決策を見つけました. ツイートのお気に入り数を取得する方法は次のとおりです。

注: これは、私の Android アプリで使用するものです。

まず、ConfigurationBuilder cbインスタンスに次の 1 行を追加します。

cb.setJSONStoreEnabled(true);

これにより、すべての結果が JSON 形式で返されます。奇妙なことに、JSON の結果を取得すると、その値が得られます。

次に、ツイートを取得します。

try {
    Paging paging = new Paging(initPagingOffset, 200);
    statuses = twitter.getHomeTimeline(paging);

    String strTweets = DataObjectFactory.getRawJSON(statuses);
    JSONArray JATweets = new JSONArray(strTweets);

    for (int i = 0; i < JATweets.length(); i++) {
        JSONObject JOTweets = JATweets.getJSONObject(i);

        ..... // PARSE ANY OTHER DATA YOU MIGHT NEED FOR DISPLAYING THE TWEETS

        String FAV_COUNT = JOTweet.getString("favorite_count");

    }
} catch (TwitterException e) {
    e.printStackTrace();
} catch (JSONException e) {
    e.printStackTrace();
}
于 2013-08-12T10:57:27.390 に答える