Swift Facebook登录:提供的访问令牌无效或已过期

时间:2016-02-01 16:33:43

标签: ios swift facebook telerik facebook-login

我正在尝试使用facebook sdk注册/登录用户到我的IOS应用程序。 当我按下登录按钮safari打开Facebook登录屏幕。输入正确的凭证后,我将返回应用程序并登录按钮更改为注销按钮,我可以检索用户信息(姓名和电子邮件地址)。问题是,当我尝试将此传递给我的后端服务(telerik / everlive)时,它会返回以下错误:

Failed to log in the user: The provided access token is invalid or has expired

以下所有代码均来自我的 LoginViewController

override func viewDidLoad() {
     super.viewDidLoad()
     if (FBSDKAccessToken.currentAccessToken() != nil)
    {
        print("User is already logged in")
        // User is already logged in, do work such as go to next view controller.
    }
    else
    {
        let loginView : FBSDKLoginButton = FBSDKLoginButton()
        self.view.addSubview(loginView)
        loginView.center = self.view.center

        loginView.readPermissions = ["public_profile", "email"]
        loginView.delegate = self
    }
}

//

func loginButton(loginButton: FBSDKLoginButton!, didCompleteWithResult result: FBSDKLoginManagerLoginResult!, error: NSError!) {
    print("Returned from Login")

    if ((error) != nil)
    {

        print(error.description)
        // Process error
    }
    else if result.isCancelled {
        print("cancelled")
        // Handle cancellations
    }
    else {
        // If you ask for multiple permissions at once, you
        // should check if specific permissions missing
        if result.grantedPermissions.contains("email")
        {
            print(result.token)
        }
        print(result.token.tokenString)
        print(FBSDKAccessToken.currentAccessToken().tokenString)

        fbToken = result.token

        registerUserFromFacebook()

    }
}

//

func registerUserFromFacebook(){
    print("1")

    print(fbToken.tokenString)
    EVUser.loginWithFacebook(fbToken.tokenString , block: { (user:EVUser!, error:NSError!) -> Void in
        if (error == nil) {
            user.username = String("\(self.facebookFirstName)\(self.facebookLastName)")

        } else {
            //This is the error
            print("Failed to log in the user: " + error.domain)
        }
    })
}

我正在努力解决这个问题,并且telerik和Facebook SDK的所有文档都是客观的c,我不知道他们反对swift。

0 个答案:

没有答案
相关问题