如何在Android应用程序中从twitter获取用户信息?

时间:2011-06-18 12:18:32

标签: android twitter twitter4j

我在我的Android应用程序中集成了twitter。我可以为用户授权应用程序。现在,我正在寻找API,它为我提供了记录用户的信息,如名字,姓氏,电子邮件等。 我用

为Facebook做了这个

facebook.request( “我”);

现在如何从Twitter获取用户信息? 我使用的是twitter4j-core-android2.2.3.jar。 Plz让我知道有没有办法获取用户信息。

5 个答案:

答案 0 :(得分:18)

最后我收到了用户信息。

使用

后获得的访问令牌
accessToken = twitterConnection.getOAuthAccessToken
    (requestToken,editPinCode.getText().toString());

oHelper.storeAccessToken(accessToken);

Log.i("Access Token:", accessToken.getToken());

Log.i("Access Secret:", accessToken.getTokenSecret());

long userID = accessToken.getUserId();

User user = twitterConnection.showUser(userID);

user.getName();

感谢。

答案 1 :(得分:2)

这里有一些教程可以帮助您使用Twitter运行应用程序..

如果您只需要检索特定用户的信息,可以查看此处(包括源代码):

Basic Adroid Twitter Integration

如果您想与Twitter互动(例如发布更新等),则需要设置OAuth连接:

Android and Twitter integratin using OAuth

答案 2 :(得分:2)

Twitter.getApiClient(session).getAccountService().verifyCredentials(true, false).enqueue(new Callback<User>()
        {
            @Override
            public void success(Result<User> userResult)
            {
                try
                {
                    User user = userResult.data;
//                         twitterImage = user.profileImageUrl;
                } catch (Exception e)
                {
                    e.printStackTrace();
                }
            }

            @Override
            public void failure(TwitterException e)
            {

            }

        });

答案 3 :(得分:1)

您无法从 Twitter OAuth 获取电子邮件,除非您的应用已列入白名单。 欲了解更多信息 Email ID from Twitter

答案 4 :(得分:0)

您可以查看以下代码:要获取用户信息,您可以使用Twitter Fabric SDK。其文档为herehere

 twitterButton.setCallback(new Callback<TwitterSession>() {
            @Override
            public void success(Result<TwitterSession> result) {
                // Do something with result, which provides a TwitterSession for making API calls
                AccountService ac = Twitter.getApiClient(result.data).getAccountService();
                ac.verifyCredentials(true, true, new Callback<com.twitter.sdk.android.core.models.User>() {
                    @Override
                    public void success(Result<com.twitter.sdk.android.core.models.User> result) {
                        String imageUrl = result.data.profileImageUrl;
                        String email = result.data.email;
                        String userName = result.data.name;
                        System.out.println(imageUrl);
                        System.out.println(email);
                        System.out.println(userName);
                    }

                    @Override
                    public void failure(TwitterException e) {
                        Log.d("ls",e.getMessage());
                    }
                });

            }

            @Override
            public void failure(TwitterException exception) {
                Toast.makeText(getApplicationContext(),
                        getResources().getString(R.string.app_name),
                        Toast.LENGTH_SHORT).show();
            }
        });

此处twitterButton import com.twitter.sdk.android.core.identity.TwitterLoginButton; 在此回复中,您可以在没有用户电子邮件的情况下获得所有凭证。