从Facebook iOS获取新朋友

时间:2017-10-25 12:49:12

标签: ios swift facebook facebook-ios-sdk

我们的应用程序使用Firebase。对于应用程序中的身份验证,我们使用Facebook。在Facebook SDK的帮助下,我得到了用户的朋友问题是,我可以只询问“新朋友”吗?例如,我在10月25日请求了所有朋友的列表,并且在下次没有询问用户的所有朋友的列表时,我从需要有关用户朋友的信息时发送时间戳参数。我阅读了很多帖子并搜索了相关信息,但在我的情况下没有找到任何有用的信息。谢谢。

func getFriends() {
    DispatchQueue.global(qos: .background).async {
        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 {
                guard let userData = result as? [String : Any] else { return }
                guard let jsonData = userData["data"] as? [[String : Any]] else { return }
                debugPrint("facebook data", jsonData)
                do {
                    let data = try JSONSerialization.data(withJSONObject: jsonData, options: JSONSerialization.WritingOptions.prettyPrinted)
                    let jsonDecoder = JSONDecoder()
                    let friends = try jsonDecoder.decode(Array<FacebookFriendModel>.self, from: data)
                    debugPrint("friends", friends.count)
                    self.saveFriends(friends)
                } catch {
                    debugPrint(error.localizedDescription)
                }
            } else {
                print("Error Getting Friends \(error?.localizedDescription ?? "")");
            }
        })

        connection.start()
    }
}

1 个答案:

答案 0 :(得分:2)

  

问题是,我可以只问“新朋友”吗?例如,我在10月25日请求了所有朋友的列表,并且在下次没有询问用户的所有朋友的列表时,我从需要有关用户朋友的信息时发送时间戳参数。

不,这种功能根本不可用。

当两个用户成为朋友时,Facebook故意不提供的信息。