在 iOS 中本地存储 Facebook 用户数据
Posted
技术标签:
【中文标题】在 iOS 中本地存储 Facebook 用户数据【英文标题】:Store Facebook User Datas Locally in iOS 【发布时间】:2014-02-08 14:32:10 【问题描述】:我有两个与 ios 与 Facebook API 相关的问题。
1) 用户点击登录btn获取用户数据时如何自定义facebook登录视图。
2) 在我的应用程序中,我想使用 facebook API。通过这种方式,我可以在下面的方法中检索用户数据。但是我怎样才能将这些用户数据保存在我的本地应用程序中。
非常感谢您的帮助!!!
[FBSession openActiveSessionWithReadPermissions:@[@"email",@"user_location",@"user_birthday",@"user_hometown"]
allowLoginUI:YES
completionHandler:^(FBSession *session, FBSessionState state, NSError *error)
switch (state)
case FBSessionStateOpen:
[[FBRequest requestForMe] startWithCompletionHandler:^(FBRequestConnection *connection, NSDictionary<FBGraphUser> *user, NSError *error)
if (error)
NSLog(@"error:%@",error);
else
// retrive user's details at here as shown below
NSLog(@"FB user first name:%@",user.first_name);
NSLog(@"FB user last name:%@",user.last_name);
NSLog(@"FB user birthday:%@",user.birthday);
NSLog(@"FB user location:%@",user.location);
NSLog(@"FB user username:%@",user.username);
NSLog(@"FB user gender:%@",[user objectForKey:@"gender"]);
NSLog(@"email id:%@",[user objectForKey:@"email"]);
NSLog(@"location:%@", [NSString stringWithFormat:@"Location: %@\n\n",
user.location[@"name"]]);
self.fbUserDataDict = [NSDictionary dictionaryWithDictionary:user];
];
break;
case FBSessionStateClosed:
case FBSessionStateClosedLoginFailed:
[FBSession.activeSession closeAndClearTokenInformation];
break;
default:
break;
];
【问题讨论】:
保存数据时不要忘记征求用户同意。否则将是非法的webmasters.stackexchange.com/questions/24734/… 嗨 pacman321,我只提到了“基本帐户信息”,例如:姓名、电子邮件、性别、生日、当前城市和头像 URL。 【参考方案1】:使用Parse 之类的东西在本地存储它们怎么样?您也可以使用 SQLite。虽然你介意扩展一下你想做什么?只需将它们存储在本地?
【讨论】:
HI Random ,我试图将这些值存储在 NSString 中,例如 name 、 email 、 gender ,但在方法内部,我遇到了 switch case 错误,请您提及一个示例,我的意思是上面的代码块你能写一个步骤来将名称存储到 NSString... 为此,我需要一个用户在他们的 Facebook 电子邮件和名称的支持下轻松登录我的应用程序。 我不太明白,NSString 就是一个简单的对象,里面保存着不可变的字符串,你说要本地存储数据,所以必须有本地数据库,比如SQLite。 HI random 你是对的,但例如我说要存储至少 nsstring。 您好,请再次访问我的代码,因为现在我尝试将 fb 用户字典添加到我的字典中,但我收到如下错误:以上是关于在 iOS 中本地存储 Facebook 用户数据的主要内容,如果未能解决你的问题,请参考以下文章
Spring Boot OAuth2 - 使用本地用户数据库向 Facebook 进行身份验证
如何使用带有 iOS SDK 的 Facebook 身份验证通过 DynamoDB 和 Cognito 存储用户信息