通过Twitter请求电子邮件

Mun*_*n0n 5 email twitter android email-integration

我正在尝试使用twitter登录请求来自用户的电子邮件,它总是返回以下错误

com.twitter.sdk.android.core.TwitterException: Your application may not have access to email addresses or the user may not have an email address. To request access, please visit https://support.twitter.com/forms/platform.
Run Code Online (Sandbox Code Playgroud)

我已按照所有步骤在结构页面中开发此电子邮件请求.我已经请求访问推特并且他们已经通过确认电子邮件回复了我,并且我已经在我的推特应用管理控制面板中配置了所有必需的项目,但是电子邮件请求总是向我发送失败方法并抛出该异常.

任何的想法?

private void twitterConfig() {
    TwitterAuthConfig authConfig =
            new TwitterAuthConfig("Consumer Key (API Key)",
                    "Consumer Secret (API Secret");

    Fabric.with(this, new Twitter(authConfig));
    twitterLoginButton.setCallback(new Callback<TwitterSession>() {
        @Override
        public void success(Result<TwitterSession> result) {
            TwitterSession session = result.data;
            String msg = "@" + session.getUserName() + " logged in! (#" + session.getUserId() + ")";
            TwitterAuthClient authClient = new TwitterAuthClient();
            authClient.requestEmail(session, new Callback<String>() {
                @Override
                public void success(Result<String> result) {
                    System.out.println();
                }

                @Override
                public void failure(TwitterException exception) {
                    notificationManager.showMessage(getString(R.string.error_cant_get_login));
                }
            });
        }

        @Override
        public void failure(TwitterException exception) {
            notificationManager.showMessage(getString(R.string.error_generic));
        }
    });
}
Run Code Online (Sandbox Code Playgroud)

Nee*_*eko 0

正如文档底部所述:

即使用户授予对其电子邮件地址的访问权限,也不能保证您会获得电子邮件地址。例如,如果某人使用电话号码而不是电子邮件地址注册 Twitter,则电子邮件字段可能为空。发生这种情况时,将调用失败方法,因为没有可用的电子邮件地址。

  • 感谢你的回答。我已阅读此声明,但我正在尝试使用我的 Twitter 用户并且我有一个有效的电子邮件地址,所以这不是问题 (2认同)