2

ローカル ホストで小さなアプリケーションを作成しました。

私はwiesharkをチェックインしました:

進行中のリクエスト:

HTTP GET: http://www.facebook.com/dialog/oauth?api_key=APPID&app_id=APPID&channel_url=http%3A%2F%2Fstatic.ak.facebook.com%2Fconnect%2Fxd_arbiter.php%3Fversion%3D9%23cb%3Df17ca8709c %26origin%3Dhttp%253A%252F%252F127.0.0.1%253A8080%252Ffd1147b44%26ドメイン%3D127.0.0.1%26relation%3Dparent.parent&client_id=121312018012923&display=none&domain=127.0.0.1&locale=1_US&redirectAgin_uri=1_US 2F%2Fstatic.ak.facebook.com%2Fconnect%2Fxd_arbiter.php%3Fversion%3D9%23cb%3Df164e7a46c%26origin%3Dhttp%253A%252F%252F * 127.0.0.1%253A8080% *252Ffd1147b44%26ドメイン%3D127.0.0.0 %26relation%3Dparent%26frame%3Df216567208&response_type=token%2Csigned_request%2Ccode&sdk=joey

Facebook は 200 OK を送信しています:

[切り詰められた] 指定された URL はアプリケーションの構成で許可されていません。: 指定された URL の 1 つ以上がアプリの設定で許可されていません。ウェブサイトの URL またはキャンバスの URL と一致するか、ドメインがいずれかのサブドメインである必要があります。

問題が何であるかわかりません。ローカルホストで XAMPP を実行しています。キャンバスとサイトの URL には、http://mytestdomain.com:8080があります。

私のマシンの /etc/hosts には、127.0.0.1 mytestdomain.com があります。

私が実行している実際のコード

<body>
        <div id="fb-root"></div>
<script>

      window.fbAsyncInit = function() {
          FB.init({appId: 'APPID', status: true, cookie: true, xfbml: true});

      };
      (function() {
        var e = document.createElement('script'); e.async = true;
        e.src = document.location.protocol +
          '//connect.facebook.net/en_US/all.js';
        document.getElementById('fb-root').appendChild(e);
      }());

      FB.getLoginStatus(function(response) {         
        if (response.status == "connected") {
        alert("yes I am in ");
        }
        else{
        alert(" you need to login to facebook:");
        }
        });

    function checkFacebookLogin() {
    alert("hai");
    }

    </script>


 <p id="fb_login_button_1"><fb:login-button onlogin="checkFacebookLogin();" size="medium" scope="email">Sign in using Facebook</fb:login-button></p>

</body>
4

7 に答える 7

1

Visual Studio でデバッグしているアドレスは、https://developers.facebook.com/の「サイト URL」と正確に一致する必要があります。IIS でデバッグし、サイト URL に一致する仮想ディレクトリを手動で作成することをお勧めします。(さらに、ポートを指定する必要はありません。これは、デフォルトの 80 または 443 ポートでない場合に問題を引き起こすことがわかっています)

この問題の私の場合、デバッグ時には「http://www.domain.com/App」がありましたが、Facebook 開発者サイトの URL は「http://domain.com/App」でした。また、スラッシュ「/」を省略したり、「http」の代わりに「https」を使用したりする人も見てきました。

肝心なのは、URL が正確に一致していることを確認する必要があるということです。Facebookは非常にうるさいようです。

于 2012-10-30T03:21:38.763 に答える
0

ローカルサーバーに仮想ホストを設定してみてください。そうすれば、仮想URLを作成できるようになります。次に、FacebookアプリのURLを仮想URLに設定すると、ローカルサーバーからFacebookに電話をかけることができると思いますが、正しく思い出せば、グラフに公開することはできません。

于 2013-03-14T08:04:12.460 に答える
0

Facebook のアプリ構成で、アプリの URL がローカルホストを指していますか?

于 2012-07-25T05:27:19.727 に答える
0

私が知っていることから。Facebook は、localhost でアプリをテストすることを許可しなくなりました。

于 2012-07-25T05:28:42.937 に答える
0

複数のサイトで同じアプリとシークレット キーを使用している可能性があります。サイトのアプリと秘密鍵を変更する必要があります。アプリfacebook 開発者からキーを生成できます。

私にとってこれはうまくいきました

于 2012-12-20T10:54:35.070 に答える
0

別の可能性: 私の状況では、複数の WP プラグイン/スクリプトが FB コードを呼び出しており、ローカルと本番で異なる AppID を使用しています。ある段階で、ローカルと本番の構成の間の競合を見落としていました。

于 2013-04-25T16:19:19.843 に答える
-1

以下を見て、試してみてください。

  1. アプリ ドメイン: your-domain.com
  2. Facebook ログインのある Web サイト: your-domain.com:8080
  3. C:\Windows\System32\drivers\etc\hosts で、エントリ 127.0.0.1 your-domain.com を追加します。
  4. ブラウザのアドレス バーに次のように入力します: http://your-domain.com:8080/appname

それでおしまい!

于 2013-06-05T10:16:07.770 に答える