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看到了许多问题和答案.