您需要使用 Twitter框架。Twitter为此提供了一个漂亮的框架,您只需要将其集成到您的应用程序中即可。
要获取用户电子邮件地址,您的应用程序需要被加入白名单。以下是链接。请前往此表格。您可以向sdk-feedback@twitter.com发送一封邮件,其中包含有关您的应用程序的一些详细信息,例如Consumer key、App Store链接、隐私政策链接、元数据、我们的应用程序登录说明等等。他们将在2-3个工作日内回复。
以下是我如何通过与Twitter支持团队会话获得白名单的故事:
向sdk-feedback@twitter.com
发送一封邮件,其中包含有关您的应用程序的一些详细信息,例如Consumer key、App Store链接、隐私政策链接、元数据、我们的应用程序登录说明,并在邮件中提到您想在您的应用程序中访问用户电子邮件地址。
他们将审核您的应用程序,并在2-3个工作日内回复您。
一旦他们说您的应用程序被白名单所接受,就更新Twitter开发人员门户网站中您的应用程序设置。登录到apps.twitter.com:
- 在“设置”选项卡上添加服务条款和隐私政策URL
- 在“权限”选项卡上,将您的令牌范围更改为请求电子邮件。此选项仅在您的应用程序被加入白名单后才能看到。
动手写代码
使用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 {
}
}
获取用户资料
-(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) {
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);
}
}
希望这有所帮助!