Swift 获取 Facebook AccessToken

use*_*476 2 xcode facebook ios swift

我正在尝试获取 Facebook Accesstoken。当我打印 accessToken 时,它返回一个带有 appId 和 authenticationToken 的对象,我该如何解析令牌?我正在使用以下代码:

let loginManager = LoginManager()
    loginManager.logIn([ .publicProfile, .userFriends, .email ], viewController: self) { loginResult in
        switch loginResult {
        case .failed(let error):
            print(error)
        case .cancelled:
            print("User cancelled login.")
        case .success(let grantedPermissions, let declinedPermissions, let accessToken):

            print("accessToken: " + String(describing: accessToken))
            break

        }
    }
Run Code Online (Sandbox Code Playgroud)

Raf*_*cha 6

您尝试解析的令牌是一个结构体

实际的令牌是:

accessToken.authenticationToken
Run Code Online (Sandbox Code Playgroud)

你的代码应该是这样的:

let loginManager = LoginManager()
loginManager.logIn([ .publicProfile, .userFriends, .email ], viewController: self) { loginResult in
    switch loginResult {
    case .failed(let error):
        print(error)
    case .cancelled:
        print("User cancelled login.")
    case .success(let grantedPermissions, let declinedPermissions, let accessToken):

        print("accessToken: " +  accessToken.authenticationToken)
        break

    }
}
Run Code Online (Sandbox Code Playgroud)