我们的应用程序使用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()
}
}
答案 0 :(得分:2)
问题是,我可以只问“新朋友”吗?例如,我在10月25日请求了所有朋友的列表,并且在下次没有询问用户的所有朋友的列表时,我从需要有关用户朋友的信息时发送时间戳参数。
不,这种功能根本不可用。
当两个用户成为朋友时,Facebook故意不提供的信息。