Проблема с получением списка друзей facebook из данных JSON в Swift

Я использую FBSDK в своем приложении Swift для iOS и в настоящее время пытаюсь получить список друзей, которые также используют мое приложение. У меня есть два-три человека, которые должны появиться, но всякий раз, когда я ищу результат запроса графа для друзей возвращает ноль..

let graphRequest : FBSDKGraphRequest = FBSDKGraphRequest(graphPath: "me",     parameters: nil)
        graphRequest.startWithCompletionHandler({ (connection,     result:AnyObject!, error) -> Void in

            if ((error) != nil)
            {
                // Process error
                println("Error: \(error)")
            }
            else
            {
                //get Facebook ID
                let faceBookID: NSString = result.valueForKey("id") as NSString
                //get username
                let userName : NSString = result.valueForKey("name") as NSString
                //get facebook friends who use app
                let friendlist: AnyObject = result.valueForKey("friends") as AnyObject

            }

У меня есть разрешения «email», «user_friends» и «public_profile», которых должно быть достаточно для получения этой информации. Любые идеи о том, что я делаю неправильно?? это ломает мне голову, так как мой друг, делающий версию для Android, успешно заработал.


person Danoram    schedule 16.04.2015    source источник


Ответы (2)


Моя проблема заключалась в том, что я никогда не запрашивал список друзей в своем запросе на графике facebook...

после замены FBSDKGraphRequest(graphPath: "me", parameters: nil)

с FBSDKGraphRequest(graphPath: "me?fields=id,name,friends", parameters: nil)

Мне удалось получить список друзей, потому что ответ фактически содержал информацию для этого. Очень банальная ошибка с моей стороны.

person Danoram    schedule 22.04.2015

В API Graph версии 2.0 вы должны запрашивать разрешение user_friends у каждого пользователя. user_friends больше не включается по умолчанию при каждом входе в систему. Каждый пользователь должен предоставить разрешение user_friends, чтобы появиться в ответе на /me/friends.

см. здесь: https://developers.facebook.com/bugs/1502515636638396/

person Anderson K    schedule 22.04.2015
comment
Спасибо за ответ! API Graph позволит вам запросить список друзей, которые также используют ваше приложение и предоставили приложению такое же базовое разрешение user_friends. Моя проблема заключалась в том, что я никогда не запрашивал этот список друзей в значении пути графа. - person Danoram; 22.04.2015