0

Facebook から AccessToken を取得し、それを alamofire で使用してアプリにログインしようとしています。currentAccessToken が nil であるため、アプリを実行するとクラッシュします。誰が私が間違っているのか教えてもらえますか?

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)")

                }
            }
        })
    }

}

4

1 に答える 1

0

FB SDK が提供するデフォルトの facebook ログイン ビューを使用している場合は、FBSDKLoginButton のデリゲート メソッドを使用し、アクセス トークンを次のように取得します。

- (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
于 2015-10-29T13:24:15.377 に答える