如何在使用Parse时获取所有Facebook好友列表?

以下是在viewDidAppear下面的代码中运行getFBfriends()时的输出:

输出:

Result Dict: { data = ( ); summary = { "total_count" = 711; }; } Found 0 friends 

“total_count = 711”是正确的,但没有关于朋友的数据。 我在这里错过了什么? 认为权限是正确的。

码:

 class SignUpViewController: UIViewController { @IBOutlet weak var btn_signIn: UIButton! @IBAction func action_btnSignIn(sender: AnyObject) { var permissions = ["public_profile", "user_friends"] println("in action_btnSignIn() of SignUpViewController") var fbloginView:FBLoginView = FBLoginView(readPermissions: ["email", "public_profile", "user_friends"]) override func viewDidAppear(animated: Bool) { if PFUser.currentUser() != nil { println("User logged in, so launching Menu Screen") //self.performSegueWithIdentifier("launchmenu", sender: self) getDBfriends() } else { println("User NOT logged in") } } func getDBfriends() { var friendsRequest: FBRequest = FBRequest.requestForMyFriends() friendsRequest.startWithCompletionHandler{(connection:FBRequestConnection!, result:AnyObject!, error:NSError!) -> Void in var resultdict = result as NSDictionary println("Result Dict: \(resultdict)") var data : NSArray = resultdict.objectForKey("data") as NSArray for i in 0..<data.count { let valueDict : NSDictionary = data[i] as NSDictionary let id = valueDict.objectForKey("id") as String println("the id value is \(id)") } var friends = resultdict.objectForKey("data") as NSArray println("Found \(friends.count) friends") } } } 

您的权限是正确的,但尝试使用其他fb帐户登录您的应用,您将在数据响应中获得该用户详细信息。

从图谱API的v2.0开始,您只能获得授权您的应用程序的朋友。 结果是正确的,您的朋友都没有授权您的应用程序,所以它是空的,只显示朋友的总数。

更多信息: 使用Facebook Graph API获取所有用户朋友 – Android