获取Facebook用户ID,并从iOS应用程序传递到MySQL


Grab facebook user ID and pass from iOS app to MySQL?

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

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

为了回应Joel的回答,我将如何将Facebook凭据添加到NSUserDefaults? 我知道如何存储一个值(如下),但是如何为 facebookID、用户名和用户电子邮件执行多个值?

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

正如上面的评论所暗示的那样,存储Facebook用户ID并没有错。令牌可以在会话之间以及设备之间更改。此外,如果您有多个应用程序(例如网络/安卓/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登录。我不打算发布所有这些代码,因为他们的入门文档中有该部分的分步说明。