获取我的Twitter电子邮件

我正在开发一个iOs应用程序,我已登录Facebook,LinkedIn,Google +和Twitter 。 所有这些都让我使用API​​, 除了 Twitter,从我的个人资料中阅读我的电子邮件。

有没有办法收到我的电子邮件

如果没有,在Twitter上是否有“内部电子邮件”,如facebook(someone@facebook.com)中生成的电子邮件?

原因是我使用电子邮件作为数据库中用户的标识符(主键)。

非常感谢。

不,电子邮件地址不能通过Twitter API获得: https : //dev.twitter.com/discussions/1737

也没有任何“内部电子邮件”可用,您必须使用推特用户名并向用户询问电子邮件地址。

您将不得不使用Twitter框架 。 Twitter为此提供了一个漂亮的框架,您只需将其集成到您的应用程序中即可。

要获取用户电子邮件地址,您的应用程序应列入白名单。 这是链接 。 转到使用此表单 。 您可以发送邮件到sdk-feedback@twitter.com,其中包含有关您的应用程序的一些详细信息,如消费者密钥,应用程序的App Store链接,隐私政策链接,元数据,如何登录我们的应用程序的说明等等。他们将在2-3个工作日内回复。

以下是我与Twitter支持团队交谈时如何列入白名单的故事:

  • 发送邮件至sdk-feedback@twitter.com ,其中包含有关您的应用程序的一些详细信息,如消费者密钥,应用程序的App Store链接,隐私政策链接,元数据,如何登录我们的应用程序的说明。 在邮件中提到您要在应用程序内访问用户电子邮件地址。

  • 他们将审核您的应用程序并在2-3个工作日内回复您。

  • 一旦他们说您的应用程序被列入白名单,请在Twitter开发人员门户中更新您的应用程序设置。 登录apps.twitter.com并:

    1. 在“设置”标签上,添加服务条款和隐私权政策url
    2. 在“权限”标签上,将令牌的范围更改为请求电子邮件。 只有在您的应用程序列入白名单后,才会看到此选项。

把手放在代码上

使用Twitter框架:

获取用户电子邮件地址

 -(void)requestUserEmail { 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 { // Handle user not signed in (eg attempt to log in or show an alert) } } 

获取用户资料

 -(void)usersShow:(NSString *)userID { NSString *statusesShowEndpoint = @"https://api.twitter.com/1.1/users/show.json"; NSDictionary *params = @{@"user_id": userID}; NSError *clientError; NSURLRequest *request = [[[Twitter sharedInstance] APIClient] URLRequestWithMethod:@"GET" URL:statusesShowEndpoint parameters:params error:&clientError]; if (request) { [[[Twitter sharedInstance] APIClient] sendTwitterRequest:request completion:^(NSURLResponse *response, NSData *data, NSError *connectionError) { if (data) { // handle the response data eg NSError *jsonError; NSDictionary *json = [NSJSONSerialization JSONObjectWithData:data options:0 error:&jsonError]; NSLog(@"%@",[json description]); } else { NSLog(@"Error code: %ld | Error description: %@", (long)[connectionError code], [connectionError localizedDescription]); } }]; } else { NSLog(@"Error: %@", clientError); } } 

希望能帮助到你 !!!