我如何在 ios 的 Facebook 集成中获取用户的位置、家乡和电子邮件 ID
Posted
技术标签:
【中文标题】我如何在 ios 的 Facebook 集成中获取用户的位置、家乡和电子邮件 ID【英文标题】:How do i fetch user's location, homeTown & email id in facebook Integration in ios 【发布时间】:2015-01-03 10:20:54 【问题描述】:我正在使用 Facebook Sdk 获取用户数据,我正在获取所有其他用户数据,而不是电子邮件 - id、用户的位置和用户的家乡。
下面是我实现的代码。
-(void)facebookLogin
NSArray *permissionsNeeded = @[@"basic_info",@"email",@"user_about_me",@"public_profile"];
NSArray *permissions = @[@"user_birthday",@"user_hometown",@"user_location",@"email",@"basic_info"];
loginView = [[FBLoginView alloc] initWithReadPermissions:permissions];
loginView.frame = CGRectMake(42, 349, 115, 40);
[self.view addSubview:loginView];
loginView.delegate = self;
-(void)loginViewFetchedUserInfo:(FBLoginView *)loginView user:(id<FBGraphUser>)user
NSLog(@"%@", user);
facebookID = [user objectForKey:@"email"];
【问题讨论】:
您找到解决方案了吗? 【参考方案1】:你能在loginViewFetchedUserInfo:user:
下面试试吗
//id<FBGraphUser> user = (id<FBGraphUser>)result;
NSString * faceId = [user objectID];
NSLog(@"faceId:%@", faceId);
id<FBGraphplace> fbPlace = [user location];
NSLog(@"fbPlace name:%@", [fbPlace name]);
id<FBGraphLocation> fbLocation = [fbPlace location];
NSString * userCity = [fbLocation objectForKey:@"city"];
NSLog(@"userCity:%@", userCity);
NSString * userCountry = [fbLocation country];
NSLog(@"userCountry:%@", userCountry);
NSString * userZip = [fbLocation objectForKey:@"zip"];
NSLog(@"userZip:%@", userZip);
NSString * birthday = [user birthday];
NSLog(@"birthday:%@", birthday);
NSString * email = [user objectForKey:@"email"];
NSLog(@"email:%@", email);
NSString * name = [user name];
NSLog(@"facebook name:%@", name);
【讨论】:
不,它不起作用,实际上问题是我的 facebookApp id 无法获取用户位置、家乡、个人资料图片。这就是为什么除了电子邮件 id 和 facebook 名称之外的所有内容都为空。以上是关于我如何在 ios 的 Facebook 集成中获取用户的位置、家乡和电子邮件 ID的主要内容,如果未能解决你的问题,请参考以下文章
如何在 ios 中使用 facebook sdk 4.1 获取用户信息?
如何在 iOS6 上将 Facebook 框架集成到应用程序中?
如何在 iOS App 中使用 Facebook 登录缓存 Facebook 用户信息