我正在尝试实现文档中提到的完全相同的代码,因此当我以下面的方式从用户那里获得授予的权限时
let loginManager = LoginManager()
loginManager.logIn(
permissions: [.email , .publicProfile],
viewController: self
) { result in
self.loginManagerDidComplete(result)
}
我如何解码publicProfile以获取所有内部信息。
我知道还有其他方法可以获取这些详细信息,但是我只能用此代码获得解决方案。
我们能否从下面的代码中获取详细信息
switch result {
case .cancelled:
print("User cancelled login.")
case .failed(let error):
print("Login failed with error \(error)")
case .success(let grantedPermissions, _, _):
print("Login succeeded with granted permissions: \(grantedPermissions)")
print(grantedPermissions.map { $0.name },"test")
for perm in grantedPermissions {
print(perm.name,perm.hashValue)
}
}
switch result {
case .failed(let error):
print(error)
case .cancelled:
print("Cancelled")
case .success(_,_,_):
let params = ["fields" : "id, email, first_name, last_name"]
let graphRequest = GraphRequest(graphPath: "/me", parameters: params)
graphRequest.start(completionHandler: { ( connection, result, error) in
if let error = error as Error? {
print(error.localizedDescription)
}
if let result = result as? [String: String],
let id = result["id"],
let firstName = result["first_name"],
let lastName = result["last_name"],
let email = result["email"]
})
}