【问题标题】:Fetch User's email address from Twitter using Twitter4j Library in android使用 android 中的 Twitter4j 库从 Twitter 获取用户的电子邮件地址
【发布时间】:2016-04-15 11:18:13
【问题描述】:

我无法获取通过 Twitter 登录我的应用程序的用户的电子邮件地址。 Twitter Callback with Fabric 提供了获取邮箱地址的回调方法,下面是获取邮箱地址的代码。

TwitterAuthClient authClient = new TwitterAuthClient();

            authClient.requestEmail(session, new Callback<String>() {
                @Override
                public void success(Result<String> result) {
                    Toast.makeText(MainActivity.this, "onSuccess", Toast.LENGTH_LONG).show();
                    Log.e("MainActicity Email : ", result.data);
                    tvEmail.setText(result.data + "\n" + session.getUserName() + "\n" + session.getUserId());
                }

                @Override
                public void failure(TwitterException e) {
                    Toast.makeText(MainActivity.this, "onFailure", Toast.LENGTH_LONG).show();
                    Log.e("MainActicity Email 2 : ", e.toString());
                    tvEmail.setText("User Don't want to share Email Address" + "\n" + session.getUserName());
                }
            });

通过这种方式,我可以获得电子邮件地址。但是这种方法使用的是 Retrofit 1.9,而我在我的项目中使用了 Retrofit 2.0。这种冲突会产生错误,称为“验证错误”。此时我无法将我的 Retrofit 2.0 降级到更低。所以,我想用不同的方法来获取电子邮件地址。另一种方法是使用 Twitter4j。在这里,我可以获得除电子邮件地址之外的所有详细信息。如果我们在注册时没有得到用户的电子邮件地址,那么使用 Twitter 登录有什么用。

请给我一些帮助。

提前致谢。

【问题讨论】:

    标签: android email twitter callback twitter4j


    【解决方案1】:

    不,无法使用 twitter4j/Twitter REST API 获取电子邮件地址。请改用 Twitter 工具包。

    除了 twitter kit 没有其他解决方案。请注意,Twitter 中的电子邮件是可选的,您可以使用电话号码或电子邮件,因此不能保证每个用户都将电子邮件地址放在他们的帐户中。

    【讨论】:

    • 但是我已经告诉过你,当我使用 Twitter 工具包时会出现什么问题。请给我另一个解决方案。
    • 我们可以使用 twitter4j 获取电话号码吗??
    • 那么通过 Twitter 注册有什么用。不提供用户的主要信息是浪费。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-06-06
    • 2012-05-10
    • 2016-10-12
    • 1970-01-01
    • 2011-05-06
    • 1970-01-01
    • 2011-02-03
    相关资源
    最近更新 更多