为什么是FBSDKGraphRequest(graphPath:“我”,参数:params).start只被调用一次

时间:2017-12-06 04:39:49

标签: swift facebook login

我正在尝试获取我的测试用户的某些Facebook信息,而这种用于获取用户信息的方法似乎只在注册时被调用,而不是在登录时我想在每次用户登录时都返回这些信息使用Facebook。我在didCompleteWith方法

中使用了以下方法
let params = ["fields" : "email, name, friendlists"]
        let graphRequest = FBSDKGraphRequest(graphPath: "me", parameters: params)
        _ = graphRequest?.start(completionHandler: { (connection, result, error) in
            if error != nil {
                print(error!.localizedDescription)
                return
            }

            if let result = result as? [String:Any]{
                guard let email = result["email"] as? String else {
                    return
                }

                guard let username = result["name"] as? String else {
                    return
                }

                guard let friendList = result["friendlists"] as? String else {
                    return
                }

                print(email, username, friendList)
            }
        })

我应该使用其他方法吗?

更新:我相信我也没有使用正确的参数来获取好友列表。

1 个答案:

答案 0 :(得分:1)

您的代码没有问题。可能你不是在等待完成块执行。只需等待几秒钟就可以执行该块。