EDIT
Twitter 更新 API 后,现在用户可以使用以下方式获取电子邮件TWTRShareEmailViewController
class.
// Objective-C
if ([[Twitter sharedInstance] session]) {
TWTRShareEmailViewController* shareEmailViewController = [[TWTRShareEmailViewController alloc] initWithCompletion:^(NSString* email, NSError* error) {
NSLog(@"Email %@, Error: %@", email, error);
}];
[self presentViewController:shareEmailViewController animated:YES completion:nil];
} else {
// TODO: Handle user not signed in (e.g. attempt to log in or show an alert)
}
// Swift
if Twitter.sharedInstance().session {
let shareEmailViewController = TWTRShareEmailViewController() { email, error in
println("Email \(email), Error: \(error)")
}
self.presentViewController(shareEmailViewController, animated: true, completion: nil)
} else {
// TODO: Handle user not signed in (e.g. attempt to log in or show an alert)
}
NOTES:
即使用户授予对其电子邮件地址的访问权限,也不能保证您会获得电子邮件地址。例如,如果某人使用电话号码而不是电子邮件地址注册 Twitter,则电子邮件字段可能为空。发生这种情况时,完成块将传递错误,因为没有可用的电子邮件地址。
Twitter 开发参考 https://docs.fabric.io/ios/twitter/request-user-email-address.html
PAST
有NO您可以获取 Twitter 用户的电子邮件地址的方式。
Twitter API 不提供用户的电子邮件地址作为 OAuth 令牌协商过程的一部分,也不提供其他获取该地址的方法。
推特文档 https://dev.twitter.com/docs/faq#6718.