2015-10-29 61 views
0

我想從Facebook獲取AccessToken並使用它與alamofire登錄到應用程序。 當我運行應用程序時,它會崩潰,因爲currentAccessToken爲零。 誰能告訴我我做錯了什麼?Facebook自定義按鈕登錄不會給我一個令牌

private func getFBUserData(){ 

    if((FBSDKAccessToken.currentAccessToken()) != nil){ 

     FBSDKGraphRequest(graphPath: "me", parameters: ["fields": "name, email"]).startWithCompletionHandler({ (connection, result, error) -> Void in 
      if (error == nil){ 
       //user and mail 
       print(result["email"], result["name"]) 

       // var myToken = FB 
       let currentToken = FBSDKAccessToken.currentAccessToken().hashValue 
       print(currentToken) 

       self.postRequests.loginUserFB(String(currentToken)) {(done) in 
        //completion handler 
        print("login \(done)") 

       } 
      } 
     }) 
    } 

}

+0

任何人都會幫我解決這個問題嗎?我想要自定義Facebook登錄按鈕。 –

回答

0

,如果你使用的是由FB SDK,FBSDKLoginButton的使用委託方法提供了默認的Facebook登錄查看並獲得訪問令牌原樣

- (void) loginButton:(FBSDKLoginButton *)loginButton 
didCompleteWithResult:(FBSDKLoginManagerLoginResult *)result 
      error:(NSError *)error 
{ 
NSLog(@"acessToken:%@ ,user Id : %@",[FBSDKAccessToken currentAccessToken],result.token.userID); 
NSLog(@"error : %@",error); 
} 

自定義您可以使用

var fbAccessToken = FBSession.activeSession().accessTokenData.accessToken 
+0

謝謝你的回覆。但我需要swift代碼+ FBSession不起作用。 '使用未解析的標識符'FBSession'' –

+0

任何人都會幫忙嗎? :-) –

+0

FBSDKAccessToken.currentAccessToken()檢查這個鏈接,如果你做錯了什麼。 http://www.brianjcoleman.com/tutorial-how-to-use-login-in-facebook-sdk-4-0-for-swift/ –