用于获取 Swift 中的 facebook 好友列表的图形路径和参数

Graph Path and Parameters for getting facebook friends list in Swift

我正在使用下面的代码获取好友列表,

let fbRequest = FBSDKGraphRequest(graphPath:"/me/friends", parameters:["fields": "friendlists"]);
    fbRequest.startWithCompletionHandler { (connection : FBSDKGraphRequestConnection!, result : AnyObject!, error : NSError!) -> Void in

        if error == nil {

            print("Friends are : \(result)")

        } else {

            print("Error Getting Friends \(error)");

        }
    }

它总是返回空数组。

输出:

 Friends are : {
 data =     (
 );
}

如果我尝试向 /me/friends 发送一个简单的调用,FBSDKGraphRequest(graphPath:"/me/friends", parameters:nil) 记录的错误如下,

FBSDKLog: starting with Graph API v2.4, GET requests for //me/friends should contain an explicit "fields" parameter.

所以我参考了以上参数。

我给两个facebook用户授权了app,他们都是facebook的好友,但是我在回复中看不到他们的详细信息。

仍然返回空数组。

请大家检查我在代码中提到的图形路径和参数是否正确

facebook 帐户中好友列表的隐私设置为public。

"friends"和"friendlists"有区别。您想要获得的是 "friends" 的列表,而不是 "friendlists" 的列表。您不需要 "fields" 参数,只需调用 /me/friends 就足够了。

话虽如此,您也只能获得授权您的应用程序的朋友,因此如果您的 none 位朋友授权了您的应用程序,您将得到一个空数组。当然你需要授权user_friends权限,你的朋友也必须授权你的App

您只能通过您的申请获得授权的朋友。

Only friends who installed this app are returned in API v2.0 and higher. total_count in summary represents the total number of friends, including those who haven't installed the app.

查看此 link 了解详细信息。

您只能获取与您的帐户关联的好友数量,但未经许可您无法获取好友的任何其他详细信息。