我如何在 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 获取用户信息?

如何在 ios 中的 facebook 集成中管理会话

如何在 iOS6 上将 Facebook 框架集成到应用程序中?

如何在 iOS App 中使用 Facebook 登录缓存 Facebook 用户信息

如何在没有 Facebook、Twitter 等的情况下将社交功能集成到 iOS 和/或 Android 应用程序中?

将 Facebook 的 Account Kit 与 Parse 集成