【问题标题】:How to get user details from twitter API in android application如何从 android 应用程序中的 twitter API 获取用户详细信息
【发布时间】:2017-12-02 16:36:06
【问题描述】:

我正在使用 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==========");
                }
            });

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

【问题讨论】:

标签: android twitter-login


【解决方案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();
            }
        });

【讨论】:

  • 收到电子邮件的空响应
  • 你把这段代码放在onActivityResult上了吗??还要检查应用程序机密和令牌......然后再试一次 mTwitterAuthClient.onActivityResult(requestCode, resultCode, data);
  • @basha 。您需要从您的 twitter 应用程序权限仪表板请求用户电子邮件,确保您正在激活该选项,follow this answer for an explanation
  • 但这个答案只获取用户名、ID 和电子邮件。我需要有关用户的完整详细信息……例如名字、姓氏和性别?
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-10-17
    • 2015-04-12
    • 2013-08-19
    • 1970-01-01
    • 2021-04-03
    • 2016-04-17
    • 1970-01-01
    • 2011-09-17
    相关资源
    最近更新 更多