2016-12-08 6 views
0

私はFBアカウントキットを使用しており、ボタンクリックでエラーが発生します:アカウントキットSDKが初期化されていません。最初ににAccountKit.initを呼び出します。そして、私が同じページに来て、リフレッシュしてエラーなしでボタンをクリックすると、ブラウザでテストすると分かります。それとも誰かがFBアカウントキットコードで私を助けることができる:まずION FBアカウントキットsmsでログイン

.controller('RegistrationCtrl', function($scope, $http, $ionicPopup) { 

    AccountKit_OnInteractive = function(){ 
     AccountKit.init(
       { 
       appId:mycode, 
       state:"{{csrf}}", 
       version:"v1.0" 
       } 
      ); 
      console.log("{{csrf}}") 

      }; 

     $scope.loginWithSMS = function() { 

     AccountKit.login("PHONE",{}, loginCallback); 



    function loginCallback(response) { 
      console.log(response); 
      if (response.status === "PARTIALLY_AUTHENTICATED") { 
       document.getElementById("code").value = response.code; 
       document.getElementById("csrf_nonce").value = response.state; 
       document.getElementById("my_form").submit(); 
      } 
      else if (response.status === "NOT_AUTHENTICATED") { 

      } 
      else if (response.status === "BAD_PARAMS") { 

      } 

      } 

    } 
    $scope.submit = function(){ 
     $scope.data = {}; 
     $http.post(app4travel.apiUrl + '/register_mobile') 
      .success(function(response, status, headers, config) { 
      console.warn('Sent') 
      console.warn(response) 
      console.warn(status) 
      $scope.response = response.data; 
     }) 
    } 

}) 

答えて

0

問題が解決しました。私はindex.html(main)のAccount Kit.init関数と呼ばれています。

<script type="text/javascript"> 
     AccountKit_OnInteractive = function(){ 
     AccountKit.init(
       { 
       appId:id, 
       state:"{{csrf}}", 
       version:"v1.1" 
       } 
      ); 
      console.log("{{csrf}}") 

      }; 

    </script> 
0

を、FBの文書で:

CSRFの保護:{{CSRF}}プレースホルダ上記以外に置き換えてくださいアプリのサーバで発生し、ログインフローに渡されるはずの値。それは変更されずにアプリクライアントに返され、アプリクライアントは元の値との一致を確認するためにそれをサーバーに戻すことができます。

第2に:理由:AccountKit.initが呼び出されていないことを確認してください。

関連する問題