【问题标题】:Parse + Facebook Questions解析 + Facebook 问题
【发布时间】:2015-09-30 14:51:39
【问题描述】:

我正在尝试实现 Parse + Facebook

这是我想做的:

  1. 用户使用 Facebook 登录
  2. 登录授权
  3. 从 Facebook 属性(性别、年龄、姓名等)创建的新用户

下面是我使用PFFacebookUtils 登录Facebook 的代码。该代码在我的 Parse 上成功创建了一个用户,但我没有想要使用的 Facebook 用户的那些详细信息

我想在 Facebook 上获取用户的姓名、性别、家乡等。

我如何做到这一点?

    var permissionArray = ["public_profile","user_friends","email","user_birthday", "user_work_history", "user_education_history", "user_hometown", "user_location", "user_likes"]; on Facebook

        PFFacebookUtils.logInInBackgroundWithReadPermissions(permissionArray) { (user: PFUser?, error: NSError?) -> Void in
            if user != nil {
                if user!.isNew {
                    println("New User");
                }
                else {
                    println("Old  User");
                }
                println(user?.username);
            }
            else {
                println("Login Cancel")
            }
        }

【问题讨论】:

    标签: ios facebook swift facebook-graph-api parse-platform


    【解决方案1】:

    您需要请求用户“我”数据,然后您可以使用它来填充您的用户对象。因此,在您的 if user!.isNew { 中,您需要按照以下方式做一些事情......

    let fbDetailsRequest = FBRequest.requestForMe()
    fbDetailsRequest.startWithCompletionHandler { connection, result, error in
      if error != nil {
        // Handle the error
      }
    
      if let graph = result as? FBGraphObject {
        // Now you can fill out the data on your user object
        user!.setObject(graph.objectForKey("email")!, forKey: "email")
        user!.setObject(graph.objectForKey("gender")!, forKey: "gender")
        // Don't forget to save afterwards...
        user!.saveInBackgroundWithBlock(nil)
      }
    }
    

    要查看您可以抓取的字段,请查看https://developers.facebook.com/docs/graph-api/reference/user 如果您需要“核心”项目以外的任何内容,您可能需要拥有额外的权限。

    【讨论】:

    • 感谢您的回答,但 FBRequest 类已被弃用
    猜你喜欢
    • 1970-01-01
    • 2014-06-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多