0

我开发了一个应用程序,成功使用 Facebook Connect 允许用户登录。登录后,用户可以将照片上传到我的服务器。这些照片/图像的 URL 链接存储在 MySQL 中。我需要将他们的 Facebook 用户 ID 链接到他们在我的数据库中的照片。所以我的问题是:

如何在 Xcode 中获取用户 ID?然后我如何将它传递给 MySQL?所有这些代码是什么样的?

为了回应乔尔的回答,我将如何将 Facebook 凭据添加到 NSUserDefaults?我知道如何存储一个值(如下),但是如何为 facebookID、userName 和 userEmail 执行多个值?

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
if ([defaults objectForKey:@"username"] == nil) //we haven't saved anything yet
    [defaults setObject:authenticatedUsersName forKey:@"username"];
4

1 回答 1

2

正如上面的评论所建议的那样,存储 Facebook 用户 ID 没有任何问题。令牌可以在会话之间以及设备之间更改。此外,如果您有多个应用程序(例如 web/android/iphone),您希望跨设备识别用户。事实上,这就是您应该唯一引用用户的方式。

无论如何,要让 fid 这样做:

在您的 fbDidLogin 委托方法上,添加以下行:

[facebook requestWithGraphPath:@"me" andDelegate:self];    

然后像这样设置请求委托:

- (void)request:(FBRequest *)request didLoad:(id)result {
    NSString *facebookId = [result objectForKey:@"id"];
    NSString *userName = [result objectForKey:@"name"];
    NSString *userEmail = [result objectForKey:@"email"]; 

    //do whatever you need to do with this info next 
    //(ie. save to db, pass to user singleton, whatever)

}

附言。上面的代码假设你已经实现了 Facebook 登录。我不打算发布所有代码,因为在他们的入门文档中有该部分的分步说明。

于 2012-04-29T02:33:47.983 回答