2

我正在使用 Twitter Api 做一个带有 TwitterLogin 集成的 android 应用程序。在这里,我没有使用任何 twitter 4j 和 fabric 。我能够获取 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==========");
                }
            });

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

4

2 回答 2

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();
            }
        });
于 2017-06-29T06:02:42.237 回答
0

请从您的 Twitter 应用程序控制台启用电子邮件访问权限。从这里 https://apps.twitter.com/app/14057942/permissions 在此处输入图像描述

于 2017-07-26T13:14:26.277 回答