如何从android应用程序中的twitter API获取用户详细信息

时间:2017-06-29 05:53:50

标签: android twitter-login

我正在使用Twitter Api进行TwitterLogin Integration的Android应用程序。在这里,我没有使用任何twitter 4j和面料。我能够获得Twitter用户名但无法获得电子邮件ID。搜索更多这个问题,但没有得到twitter api。 我按照twitterAPI登录

这是我的代码

twitterLoginButton.setCallback(new Callback<TwitterSession>() {
                @Override
                public void success(Result<TwitterSession> result) {

                    System.out.println("=======twitterlogin success=======");

                    String username=result.data.getUserName();

                    getUsertwitteremail();
                }

                @Override
                public void failure(TwitterException exception) {
                    System.out.println("=======twitterlogin failure==========");
                }
            });

请有人帮助我获取详细信息,包括电子邮件。

2 个答案:

答案 0 :(得分:1)

首先确保检查用户的请求电子邮件地址是否适用于您的Twitter应用 查看下面的代码并收到电子邮件

 mTwitterAuthClient.authorize(this, new com.twitter.sdk.android.core.Callback<TwitterSession>() {
            @Override
            public void success(Result<TwitterSession> twitterSessionResult) {
                TwitterSession session = TwitterCore.getInstance().getSessionManager().getActiveSession();
                TwitterAuthToken authToken = session.getAuthToken();
                String token = authToken.token;
                String secret = authToken.secret;
                long userId = session.getUserId();
                String userNa = session.getUserName();
                Log.d("twitter check", userNa + "  " + secret);

                mTwitterAuthClient.requestEmail(session, new Callback<String>() {
                    @Override
                    public void success(Result<String> result) {
                        Log.d("email", result.data);
                        // Do something with the result, which provides the email address
                    }

                    @Override
                    public void failure(TwitterException exception) {
                        // Do something on failure
                    }
                });
            }

            @Override
            public void failure(TwitterException e) {
                e.printStackTrace();
            }
        });

答案 1 :(得分:0)

请从您的Twitter应用控制台启用电子邮件访问权限。 从这里 https://apps.twitter.com/app/14057942/permissions enter image description here