【问题标题】:Get User's friends user ID for app leaderboard scores获取应用排行榜分数的用户好友用户 ID
【发布时间】:2019-04-19 07:39:44
【问题描述】:

所以,我正在创建一个排行榜,用户可以在其中查看以前使用过该应用程序的全球分数、区域分数和朋友分数。当他们使用 facebook 登录时,所有这些分数都会与用户的唯一 ID 一起被提取并写入 firebase 中的 fire store 数据库。

我需要从 facebook 获取用户朋友列表和他们的用户 ID,以便我可以使用 Facebook id 在 fire store 数据库中搜索他们的分数。但是在获取好友列表时,我不知道如何从下面的结果中获取 id:

func getFriendsFromFB() {

    let params = ["fields": "id, first_name, last_name, name, email, picture"]

    let graphRequest = FBSDKGraphRequest(graphPath: "/me/friends", parameters: params)
    let connection = FBSDKGraphRequestConnection()
    connection.add(graphRequest, completionHandler: { (connection, result, error) in
        if error == nil {
            if let userData = result as? [String:Any] {
                print(userData)
            }
        } else {
            print("Error Getting Friends \(error)");
        }

    })

    connection.start()

}

有人可以建议我如何从上面代码中的结果中获取用户 ID 吗?

在要求用户登录时,我也会要求 user_friends 权限。

【问题讨论】:

    标签: ios swift facebook-ios-sdk


    【解决方案1】:

    您将结果转换为Dictionary,这意味着结果存储为键值。您可以使用dictionary["keyHere"] 检索值。我不确定 FB 图表结果的结构,但您必须执行以下操作:

    // Don't continue if the result is not a dictionary
    guard let userData = result as? [String: Any] else {
        return
    }
    
    // Now, you can get values from the dictionary
    
    // Let's say the userID is a String
    if let userID = userData["id"] as? String {
        print(userID)
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-12-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-04
      相关资源
      最近更新 更多