3

Facebookにログインしようとしていますが、ここに私のコードがあります:

<body>
<form id="form1" runat="server">
    <div id="fb-root"></div>
    <script>    
        (function (d, s, id) {
            var js, fjs = d.getElementsByTagName(s)[0];
            if (d.getElementById(id)) return;
            js = d.createElement(s); js.id = id;
            js.src = "//connect.facebook.net/en_GB/all.js#xfbml=1&appId=221385331301885";
            fjs.parentNode.insertBefore(js, fjs);
    } (document, 'script', 'facebook-jssdk'));
    </script> 
    <div class="fb-login-button" data-show-faces="false" data-width="300"></div>
    <script>
        window.fbAsyncInit = function () {
            FB.init({
                appId: '221385323101885', // App ID
                status: true, // check login status
                cookie: true, // enable cookies to allow the server to access the session
                xfbml: true  // parse XFBML
            });

            // Additional initialization code here
        };

        // Load the SDK Asynchronously
        (function (d) {
            var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0];
            if (d.getElementById(id)) { return; }
            js = d.createElement('script'); js.id = id; js.async = true;
            js.src = "//connect.facebook.net/en_US/all.js";
            ref.parentNode.insertBefore(js, ref);
        } (document));
    </script>
</form>
</body>

このコードを実行すると、次のエラー メッセージが表示されます。

ここに画像の説明を入力

https://developers.facebook.com/tools/debugを使用してウィンドウ内の URL をデバッグしようとしましたが、URL はスクレイピングできないと言い続けました:/ デバッグを試みる場合の URL は以下のとおりです。

https://www.facebook.com/dialog/oauth?api_key=221385331301885&app_id=221385331301885&client_id=221385331301885&display=popup&domain=127.0.0.1&locale=en_GB&origin=1&redirect_uri=https%3A%2F%2Fs-static.ak.fbcdn.net%2Fconnect%2Fxd_proxy.php%23cb%3Df4b3e7f08%26origin%3Dhttp%253A%252F%252F127.0.0.1%253A81%252Ff22a06766%26relation%3Dopener%26transport%3Dpostmessage%26frame%3Df23609e538&response_type=token%2Csigned_request&sdk=joey

Facbook アプリの設定と一致するように、hosts ファイルを変更して 127.0.0.1 localhost.local のエントリを追加しました。以下は、私のホスト ファイルと Facebook アプリの設定のスクリーンショットです。

ホスト ファイル

Facebookアプリの設定

ご覧のとおり、hosts ファイルと Facebook アプリの設定の両方でドメインが同じです。この問題を解決する方法についてのアイデアはありますか? ありがとう

4

3 に答える 3

3

私はあなたの問題を見つけたと思いますが、なぜそれが起こるのか分かりません...

私はあなたがしたことを正確にやろうとしましたが、代わりにモバイル Webを使用して、 Web サイトオプションにhttp://localhostを指定しました(モバイルは空でした)。そして、すべてがうまくいきました。

Webサイトからモバイル Webに切り替えたところ、報告されたのと同じエラーが発生しました。モバイルオプションを使用する必要がありますか?

また、fb sdk を 2 回読み込んでいますが、理由はわかりませんが、このソースを初めて使用します。

//connect.facebook.net/en_GB/all.js#xfbml=1&appId=221385331301885

そして、このソースでもう一度:

"//connect.facebook.net/en_US/all.js"

ポイントは何ですか?単にこれを行うことの何が問題なのですか:

<div id="fb-root"></div>
<div class="fb-login-button" data-show-faces="false" data-width="300"></div>
<script>
    window.fbAsyncInit = function () {
        FB.init({
        appId: '221385323101885', // App ID
        status: true, // check login status
        cookie: true, // enable cookies to allow the server to access the session
        xfbml: true  // parse XFBML
        });

        // Additional initialization code here
    };

    // Load the SDK Asynchronously
    (function (d) {
        var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0];
        if (d.getElementById(id)) { return; }
        js = d.createElement('script'); js.id = id; js.async = true;
        js.src = "//connect.facebook.net/en_US/all.js";
        ref.parentNode.insertBefore(js, ref);
    } (document));
</script>

それがあなたの問題を解決することを願っています。

于 2012-04-04T08:46:12.580 に答える
0

ここで、Apache で仮想ホストを作成する必要があります

于 2014-01-31T17:24:34.440 に答える