【发布时间】: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