【问题标题】:Unable to retrive user information using Twitter4j library无法使用 Twitter4j 库检索用户信息
【发布时间】:2014-01-10 03:23:30
【问题描述】:

我写了以下java代码:-

public static void main(String[] args) throws TwitterException, IOException {
//FROM HERE 
        Twitter twitter = TwitterFactory.getSingleton();
    twitter.setOAuthConsumer("i use my keys here", "i use my keys");
    RequestToken requestToken = twitter.getOAuthRequestToken();
    AccessToken accessToken = null;
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    while (null == accessToken) {
      System.out.println("Open the following URL and grant access to your account:");
      System.out.println(requestToken.getAuthorizationURL());
      System.out.print("Enter the PIN(if aviailable) or just hit enter.[PIN]:");
      String pin = br.readLine();
      try{
         if(pin.length() > 0){
           accessToken = twitter.getOAuthAccessToken(requestToken, pin);
         }else{
           accessToken = twitter.getOAuthAccessToken();
         }
      } catch (TwitterException te) {
        if(401 == te.getStatusCode()){
          System.out.println("Unable to get the access token.");
        }else{
          te.printStackTrace();
        }
      }
    }


    IDs frndlst = twitter.getFollowersIDs(1);
    long idlist[] = frndlst.getIDs();
    for(int i=0;i<idlist.length;i++)
    {
    System.out.println(idlist[i]);
    }
    //TO HERE CO IS WORKING
    //HERE I AM TRYING TO GET IDS OF MY FOLLOWERS BUT ITS NOT WORKING
        System.out.println(idlist.toString());
    System.out.println();
    System.out.println(frndlst);

        //HERE AGAIN I AM TRYING BUT STILL NOT WORKING      
    PagableResponseList<User> l1 = twitter.getFollowersList("varun_karhadkar", 10);

    System.out.println("checking if empty"+ l1.isEmpty());
    System.out.println(l1);
    System.exit(0);
  }


}

需要一些帮助,我想做的就是获取所有关注我的用户的屏幕名称以及我关注的所有用户的列表。

执行上述代码后的输出:-

Open the following URL and grant access to your account:
https://api.twitter.com/oauth/authorize?oauth_token=vXrXa5eaDMkTNd66bInW7e6u7WMX1yGiLmSD9h4
Enter the PIN(if aviailable) or just hit enter.[PIN]:9045949

[J@694bc02d

IDsJSONImpl{ids=[], previousCursor=-1, nextCursor=0}

checking if empty true

【问题讨论】:

    标签: java twitter twitter4j


    【解决方案1】:

    您做错了,因为您通过值 1 调用 getFollowersIDs() 函数。 但是,您应该使用您的用户 id 值调用该函数,该值对于 Twitter 上的每个用户都是唯一的。您可以通过在此网页上搜索找到您的用户 ID:http://gettwitterid.com/

    之后,您只需要使用该用户 ID 调用该函数。

    另外,我不知道为什么twitter.getFollowersList("varun_karhadkar", 10); 代码不起作用。可能原因是您首先为光标值提供 10 而不是 -1。

    试试我上面说的那些。它应该可以工作,因为我使用了相同的代码。

    【讨论】:

    • 同样的事情应该适用于您关注的用户,例如 twitter.getFriendsIDs(userId);
    猜你喜欢
    • 2018-08-03
    • 2013-05-22
    • 1970-01-01
    • 2012-06-02
    • 1970-01-01
    • 2015-03-11
    • 1970-01-01
    • 1970-01-01
    • 2018-03-11
    相关资源
    最近更新 更多