使用Swift 5的Facebook图形请求

Fra*_*anz 6 sdk facebook graph ios swift

我正在尝试按照开发人员的文档页面(https://developers.facebook.com/docs/swift/graph)所述实现一个Facebook图形请求。Xcode 10.2.1,快速5。

但是我一直收到以下错误:

上下文闭合类型'(GraphRequestConnection ?, Any ?, Error?)-> Void'需要3个参数,但是在闭合体中使用了2个

我做了很多研究,并试图填写几个论点,但我根本无法弄清楚缺失的第三个论点可能是什么。

import FBSDKCoreKit

let connection = GraphRequestConnection()
connection.add(GraphRequest(graphPath: "/me")) { httpResponse, result in
    switch result {
        case .success(let response):
        print ("Graph Request succeeded: \(resonse)")

        case .failed (let error):
            print ("Graph Request failed: \(error)")
    }
}
connection.start()
Run Code Online (Sandbox Code Playgroud)

有人可以帮忙吗?

Seb*_*Fox 8

我有同样的行为。我没有Swift和Facebook Graph API的经验,我不确定这是否是一个好的解决方案,但是目前(直到找到更好的解决方案)对我来说可行:

connection.add(GraphRequest(graphPath: "/me", parameters: ["fields":"email"])) { httpResponse, result, error   in
    if error != nil {
        NSLog(error.debugDescription)
        return
    }

    // Handle vars
    if let result = result as? [String:String],
        let email: String = result["email"],
        let fbId: String = result["id"] {

        // internal usage of the email
        self.userService.loginWithFacebookMail(facebookMail: email)

    }

}
Run Code Online (Sandbox Code Playgroud)

  • 是! connection.start()是必需的。 (3认同)