7

I need to get all my friends list:

I found this code:

var fbRequestFriends: FBSDKGraphRequest = FBSDKGraphRequest(graphPath: "/{friend-list-id}", parameters: [AnyHashable : Any]())

fbRequestFriends.start { (connection, result, error) in
    if error == nil && result != nil {
        print("Request Friends result : \(result!)")
    } else {
        print("Error \(error)")
    }
}

But in return I get this error:

Error Optional(Error Domain=NSURLErrorDomain Code=-1002 "unsupported URL" UserInfo={NSErrorFailingURLStringKey=(null)?access_token=EAAZAaT5Yj9qQBABsXA5KGpwvGX6wIdgX6h9mLtzz6YtgjiOB12XwWxl1MrDJLtZChWSOOKXDiizZCu7uZAixBmqP97HYUXkeg3lkTeeeyjmvhZBOZBibrp2Exa9uZB7V5fflJTvISF2aqK94H7E52svqei6SHvxi3W9vcynSI8hPQBBSawND9NHQif0wYIPuHIpbzl6ErBErvk6nm4ysMo1ZA0BFHVmflVYZD&format=json&include_headers=false&sdk=ios, NSErrorFailingURLKey=(null)?access_token=EAAZAaT5Yj9qQBABsXA5KGpwvGX6wIdgX6h9mLtzz6YtgjiOB12XwWxl1MrDJLtZChWSOOKXDiizZCu7uZAixBmqP97HYUXkeg3lkTeeeyjmvhZBOZBibrp2Exa9uZB7V5fflJTvISF2aqK94H7E52svqei6SHvxi3W9vcynSI8hPQBBSawND9NHQif0wYIPuHIpbzl6ErBErvk6nm4ysMo1ZA0BFHVmflVYZD&format=json&include_headers=false&sdk=ios, NSLocalizedDescription=unsupported URL, NSUnderlyingError=0x7a6285b0 {Error Domain=kCFErrorDomainCFNetwork Code=-1002 "unsupported URL" UserInfo={NSErrorFailingURLKey=(null)?access_token=EAAZAaT5Yj9qQBABsXA5KGpwvGX6wIdgX6h9mLtzz6YtgjiOB12XwWxl1MrDJLtZChWSOOKXDiizZCu7uZAixBmqP97HYUXkeg3lkTeeeyjmvhZBOZBibrp2Exa9uZB7V5fflJTvISF2aqK94H7E52svqei6SHvxi3W9vcynSI8hPQBBSawND9NHQif0wYIPuHIpbzl6ErBErvk6nm4ysMo1ZA0BFHVmflVYZD&format=json&include_headers=false&sdk=ios, NSErrorFailingURLStringKey=(null)?access_token=EAAZAaT5Yj9qQBABsXA5KGpwvGX6wIdgX6h9mLtzz6YtgjiOB12XwWxl1MrDJLtZChWSOOKXDiizZCu7uZAixBmqP97HYUXkeg3lkTeeeyjmvhZBOZBibrp2Exa9uZB7V5fflJTvISF2aqK94H7E52

Matrosov Oleksandr
  • 25,505
  • 44
  • 151
  • 277
  • What are you trying to do? – WizKid Jan 20 '17 at 08:22
  • do you actually want to get the "friends" or the "friendlists"? there is a difference. btw, you can only get friends who authorized your app too and the api call is /me/friends. – andyrandy Jan 20 '17 at 08:22
  • 2
    `/me/friendlists` resp. `/friendlist-id` will only get you info about the list itself anyway (like the list name); it will not give you the users _on_ those lists. – CBroe Jan 20 '17 at 08:58
  • @luschn How does it know which friends have authorized the app? – Sente Oct 07 '17 at 23:51
  • because those are the ones you get with /me/friends. – andyrandy Oct 08 '17 at 07:50

1 Answers1

11

@CBroe is right, this is how the code should look like

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()
Bista
  • 7,869
  • 3
  • 27
  • 55