如何使用 Facebook SDK 4+ 和 Parse 访问“first_name”权限

Posted

技术标签:

【中文标题】如何使用 Facebook SDK 4+ 和 Parse 访问“first_name”权限【英文标题】:How to access "first_name" permission with Facebook SDK 4+ and Parse 【发布时间】:2015-05-19 23:53:17 【问题描述】:

如何在 PFFacebookUtils 登录方法中访问读取权限?我已经升级到 Parse 1.7.3 并且正在使用 ParseFacebookUtilsV4 框架。我将方法更新为loginInBackgroundWithReadPermissions(),下面我有以下代码:

// Login through Facebook IBAction
PFFacebookUtils.logInInBackgroundWithReadPermissions(permissions, (appUser: PFUser?, error: NSError?) -> Void in
    if let appUser = appUser 
        let request = FBRequest.requestForMe()
        request.startWithCompletionHandler  (request, user, error) -> Void in
        if error == nil 
            // Get Facebook user's "first_name" and set it to the newly created PFUser's "name" variable
            var name = user.objectForKey("first_name") as! String
            appUser["name"] = name
            appUser.saveInBackgroundWithBlock( (Bool, error: NSError!) -> Void in
            )
        
    
)

我在FBRequest.requestForMe() 上遇到编译时错误,说

使用未解析的标识符“FBRequest”

我应该用什么替换它,以便我可以访问 Facebook 用户的“first_name”属性并将其设置为我设置的 Parse 用户的“name”属性?

【问题讨论】:

【参考方案1】:

您是否在项目中导入了 Facebook SDK?当您使用 Parse 工具时,您仍然需要导入/链接它。

还有;您使用的是什么版本的 SDK? FBRequest 类是 3.x 系列的一部分;我建议现在使用 4.x 版本号中的最新 SDK。请确保您使用的 Parse Framework 版本与使用的 ios 框架匹配。

【讨论】:

【参考方案2】:

您现在使用FBSDKGraphRequest,而不是使用FBRequest。一定要import FBSDKCoreKit。有关示例请求,请参阅 Parse 在 github 上的教程。

https://github.com/ParsePlatform/ParseUI-iOS/wiki/Integrate-Login-with-Facebook

【讨论】:

以上是关于如何使用 Facebook SDK 4+ 和 Parse 访问“first_name”权限的主要内容,如果未能解决你的问题,请参考以下文章

使用 Facebook SDK 4.0 进行 Android 登录

任何示例显示如何使用自己的按钮或 Facebook 按钮在 Android 中使用 Facebook SDK 4.0 登录?

如何从 facebook sdk 4 快速获取用户电子邮件

如何在 ios 中使用 facebook sdk 4.1 获取用户信息?

使用 sdk 4 的 Facebook 自定义登录 UI

如何解决这个 Facebook SDK 4.0 登录按钮异常