TL;TR:如何使用Facebook SDK 4.4获取已登录应用程序的用户的电子邮件和姓名?
到目前为止,我已成功实现了登录,并且可以从应用程序的任何地方获取当前的访问令牌。
我的登录视图控制器和 Facebook 登录按钮的配置:
class LoginViewController: UIViewController, FBSDKLoginButtonDelegate {
@IBOutlet weak var loginButton: FBSDKLoginButton!
override func viewDidLoad() {
super.viewDidLoad()
if(FBSDKAccessToken.currentAccessToken() == nil)
{
print("not logged in")
}
else{
print("logged in already")
}
loginButton.readPermissions = ["public_profile","email"]
loginButton.delegate = self
}
//MARK -FB login
func loginButton(loginButton: FBSDKLoginButton!, didCompleteWithResult result: FBSDKLoginManagerLoginResult!, error: NSError!) {
//logged in
if(error == nil)
{
print("login complete")
print(result.grantedPermissions)
}
else{
print(error.localizedDescription)
}
}
func loginButtonDidLogOut(loginButton: FBSDKLoginButton!) {
//logout
print("logout")
}
现在我可以这样在我的主视图中获取访问令牌:
let accessToken = FBSDKAccessToken.currentAccessToken()
if(accessToken != nil) //should be != nil
{
print(accessToken.tokenString)
}
我该如何获取已登录用户的姓名和电子邮件?我看到很多问题和答案都是使用旧版SDK或使用Objective-C。