Я хочу получить Twitter Follower и список подписчиков в Android, но получить NullPointer - PullRequest
1 голос
/ 29 февраля 2012

Я хочу получить список подписчиков в твиттере, поэтому я использую следующий код, но даю NullPointer на for (User user : followers) и вижу эту ссылку http://grepcode.com/file/repo1.maven.org/maven2/org.twitter4j/twitter4j-examples/2.2.4/twitter4j/examples/list/GetAllUserLists.java, здесь они указали, как получить пользователей на Java, но ResponseList<UserList> lists = twitter.getAllUserLists(args[0]); эта ссылка arg [0] согласно методу http://twitter4j.org/ja/javadoc/twitter4j/api/ListMethods.html, пожалуйста, помогите мне решить мою проблему.

 private static final String user ="your-user";
 private static final String pw ="your-password";


    // Make a Twitter object
           Twitter twitter = new TwitterFactory().getInstance(user,pw);

    // Set my status
    twitter.setStatus("@vogella messing with Twitter in Java");

    List<User> followers = twitter.getFollowers();
    for (User user : followers) {
        System.out.println(user.getName());
    }
}

Ответы [ 2 ]

4 голосов
/ 29 февраля 2012

Насколько мне известно, Twiiter обновил свои API, теперь они поддерживают механизм oauth 2.0 для получения любой информации.

Чтобы получить список подписчиков, используйте ссылку ниже https://dev.twitter.com/docs/api/1/get/followers/ids, вы можете использовать библиотеку Twitter4j для java / android http://twitter4j.org/en/index.html

private void twitter_req()
{

        String access_token = prefs.getString("twitter_token", null);
        String access_secret = prefs.getString("twitter_secret", null);

              twitter_api lapi=new twitter_api(access_token,access_secret,new GetUserInfo_TWRequestCallback());
                lapi.get("api.twitter.com/1/followers/ids.json ");

}
public void get() {
        try {
                HttpGet httpRequest = new HttpGet(mUrl);
                sign(httpRequest);
                sendSync(httpRequest);
        } catch(Exception e) {
                Log.d(" get()", e.toString());
                doFailCallback();
        }
}
private void sendSync(HttpRequestBase httpRequest)
{

            HttpClient httpClient = new DefaultHttpClient();
            HttpResponse httpResponse = httpClient.execute(httpRequest);
            StatusLine statusLine = httpResponse.getStatusLine();
            HttpEntity entity = httpResponse.getEntity();
            //

            //
            response = "null";
            if (entity != null) {
                response = getResponseFromStream(entity.getContent());  //
            }
}
public void sign(HttpRequestBase httpRequest) throws OAuthMessageSignerException, OAuthExpectationFailedException {
       // MSOAuth oauth = MSOAuth.init(mSession);
       // oauth.sign(httpRequest);
         try {
        consumer.sign(httpRequest);
        } catch (OAuthCommunicationException e) {
            response="errorsign";
            if(e!=null)
                if(e.getMessage()!=null)
                {
                    response=e.getMessage();
                }
            // TODO Auto-generated catch block
            e.printStackTrace();
        }  
}
0 голосов
/ 29 февраля 2012

Я не знаю API, но не ясно, может ли возвращаемый список быть нулевым или нет в соответствии с javadoc. Проверьте это перед циклом.

...