2

私はこれを機能させるために私のウィットエンドにいます。以前は使っていましたが、どういうわけかまた壊れたようです。ローカルで開発するときだけ問題があります。Facebookのローカル開発で現在同様の問題を抱えている人は他にいますか?

これらは私のステップです:

  1. アプリを作成する
  2. [基本情報]セクションで、ドメインとして[localhost]を設定します(これも空白のままにしてみました)
  3. 私のウェブサイトをに設定しますhttp://localhost:8080/
  4. サンドボックスモードがオフになっていることを確認します
  5. 私のローカルサーバーはJavascriptを実行しhttp://localhost:8080/private/ており、基本的には次のようになります。
  6. また、localhostの代わりに(myapp.comなど)を使用して、127.0.0.1にマップされたetc / hostsファイルで定義し、App Domainを「myapp.com」に設定してサイト「http://myapp」を使用してみました。 com:8080/'運がない。

FB.getLoginStatus()呼び出しが返されないか、たまにしか返されません。常に本番サーバーで動作します。

    function myAppInit() {

        console.log("Facebook loaded; initializing sdk.");

        //Initialize FB SDK
        FB.init({ 
            appId:_FbAppId, //This is valid and matches app ID
            cookie:true, 
            status:true, 
            xfbml:true,
            oauth:true
        });

        //Query for login status.
        FB.getLoginStatus(function(response) {
            updateLoginStatus(response);  //This is hit randomly
        });

        //Set our standard callback for auth change status
        FB.Event.subscribe('auth.authResponseChange', function(response) {
           updateLoginStatus(response);   //This is hit randomly
        });    
    }


    $(document).ready(function(){

        window.fbAsyncInit = myAppInit;
        (function(d){
             var js, id = 'facebook-jssdk'; if (d.getElementById(id)) {return;}
             js = d.createElement('script'); js.id = id; js.async = true;
             js.src = "//connect.facebook.net/en_US/all.js";
             d.getElementsByTagName('head')[0].appendChild(js);
        }(document));
     }

編集:FB.getLoginStatus(..)の応答を確認した後、これを返します:

指定されたURLはアプリケーション構成で許可されていません:指定されたURLの1つ以上がアプリケーション構成で許可されていません。ConnectまたはCanvasURLの1つと一致するか、ドメインがアプリケーションのベースドメインの1つのサブドメインと同じであるかサブドメインである必要があります。

4

1 に答える 1

1

私はあなたが説明しているのとまったく同じエラーがあり、それは私を狂わせていました。キャンバスまたはページのURLのFacebookURLが、ブラウザに入力しているものと正確に一致していることを確認する必要があります。

私の場合、アドレスバーのURLに「www」を追加しました(例:wwww.domain.com/MyApp)が、Facebook Developer設定では、wwwプレフィックスなしでページURLとしてdomain.com/MyAppを使用していました。 。その微妙な違いがエラーの原因です。あなたの場合も同様に何かが起こっている可能性があります。

ローカルホストを介してテストする場合は、新しいアプリを作成して、本番アプリのテストバージョンにすることをお勧めします。そうすれば、物事が乱雑にならないように、それぞれのアプリの下にPRODURLとTESTURLを設定できます。

また、ポート80で実行できるように、カスタム仮想ディレクトリでIISを使用してデバッグすることをお勧めします(443または80以外のものを使用すると、Facebookがおかしな動作をすることがあります)。

于 2012-10-30T01:02:14.430 に答える