2012-03-18 10 views
0

Facebookでのログインを実装したウェブサイトを実現しました。 私はブラウザのSafariでそれをテストしましたが、すべて正常かもしれません。私はChromeとMozillaでもそれをテストしましたが、うまくいきません。コードを貼り付けますが、その例はhttp://taxigruppo.altervista.org/flogin.phpにあります。Facebookでログイン

ありがとうございました。

window.fbAsyncInit = function() { 
      FB.init({ 
       appId  : "<?= YOUR_APP_ID ?>", 
       status  : true, 
       cookie  : true, 
       xfbml  : true, 
       oauth  : true 
      }); 

      FB.Event.subscribe('auth.login', function(response) { 
       window.location.reload(); 
      }); 
     } 
    <div id="fb-root"></div> 
    <fb:login-button scope="<?= $permissions ?>">Login</fb:login-button> 

PHPのような他のコードが必要な場合は教えてください。

問題はSafariのログインボタンが他のブラウザでは何度も表示されていることです。

答えて

0

Facebookにさまざまな値を適切に渡していません。エラーURLの最初の部分は次のとおりです。あなたが意図していないものを、ほとんど可能性があり

https://www.facebook.com/dialog/oauth?api_key=APP_ID&app_id=APP_ID&client_id=APP_ID

。どこが間違っているのか分かりませんが、すべての値を正しく渡していることを確認してください。

+0

問題はログイン手順ではなく、ログインボタンです。もしそれが見えるなら、それはうまくいきます...問題は、多くの時間それはvisibileとcliccableではないです。 – AleVale94

0

自分でログインボタンを作成し、facebookログインのルックアンドフィールを与えるようにスタイルを変更することもできます。彼らのpolicyに従い、ブランド価値を損なうことを忘れないでください(たとえば、あなたのものではなくFacebookブランドを反映するボタンを作成するなど)。

<span class="facebook-button"> 
</span> 

とボタンで、その後、あなたは(FacebookのJS-SDKに沿って使用することは非常に有用である)jqueryを使用している場合は、次のことができbindclickイベント

$(".facebook-button").click(function{ 
    YOUR FUNCTION 
}); 

これ以外の場合は、onclick機能を使用することもできます。 YOUR FUNCTIONでは、FB.api()などのapi関数(ログイン機能も可能)を呼び出します。 1つの良い例は、文書にhereです。

利点: 1.非常に強力です。この方法では、サーバー側またはクライアント側のすべての種類を実行できます。 2.それはより速くなります。 1つのjsファイル(または1つの集約ファイル)にjqueryファンシーなものを置くことができ、ブラウザの負荷がより速くなります。

注意:コンソールでFB not definedエラーが表示されることがあります。これはこのquestionで美しく扱われます。