2017-03-15 69 views
0

我正试图获得Facebook Accesstoken。当我打印accessToken时,它会返回一个带有appId和authenticationToken的对象,我如何解析出令牌? 我使用下面的代码:Swift get Facebook AccessToken

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 

     } 
    } 
+0

http://stackoverflow.com/a/42266558/5 461400试试这个 –

+0

你可以直接获取访问令牌'FBSDKAccessToken.current()' –

回答

1

你试图解析该令牌是一个结构

实际令牌是:

accessToken.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: " + accessToken.authenticationToken) 
     break 

    } 
}