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

发布于 2024-11-15 23:08:57 字数 236 浏览 3 评论 0原文

我正在将 Twitter 集成到我的 Android 应用程序中。我可以为用户授权该应用程序。现在,我正在寻找一个 API,它可以为我提供登录用户的信息,如名字、姓氏、电子邮件等。 我已经用

facebook.request("me");

为 facebook 做了这个。现在如何从twitter获取用户信息? 我正在使用 twitter4j-core-android2.2.3.jar。请让我知道是否有办法获取用户信息。

I am integrating twitter in my android app. I am able to authorize the app for the user. Now, I am looking for the API which gives me logged users information like first name, last name, email, etc.
I had done this for facebook with

facebook.request("me");

Now how to get user info from twitter?
I am using twitter4j-core-android2.2.3.jar. Plz let me know is there a way to get user info.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

末蓝 2024-11-22 23:08:57

最后我得到了用户信息。

使用感谢后获得的访问令牌

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();

Finally I got user information.

use the access token you get after

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();

Thanks.

萌辣 2024-11-22 23:08:57

这里有一些教程可以帮助您让应用程序与 twitter 一起运行。

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

基本 Adroid Twitter 集成

如果您想与 Twitter 交互(例如发布更新等),那么您需要进行设置开放认证连接:

使用 OAuth 集成 Android 和 Twitter

There are a few tutorials here that can help you get an app running with twitter..

if you just need to retrieve info for a specific user, you can look here (includes source code):

Basic Adroid Twitter Integration

If you want to interact with twitter (e.g. post updates etc) then you will need to setup OAuth connection:

Android and Twitter integratin using OAuth

够运 2024-11-22 23:08:57
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)
            {

            }

        });
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)
            {

            }

        });
吻风 2024-11-22 23:08:57

除非您的应用程序被列入白名单,否则您无法从 twitter OAuth 获取电子邮件
欲了解更多信息
来自 Twitter 的电子邮件 ID

You cannot get Email from the twitter OAuth unless or untill your app is whitelisted.
For more Info
Email ID from Twitter

北陌 2024-11-22 23:08:57

您可以检查以下代码: 要获取用户信息,您可以使用 Twitter Fabric SDK。其文档位于此处此处

 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
导入 com.twitter.sdk.android.core.identity.TwitterLoginButton;

在此响应中,您可以获得所有凭证,无需用户电子邮件。

You can check bellow code: To get user info you can use Twitter Fabric SDK. Its documentation is here and here

 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();
            }
        });

Here twitterButton is
import com.twitter.sdk.android.core.identity.TwitterLoginButton;

In this response you can get All credential without user Email.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文