0

取得されたエラーはエラーが発生しました。後でもう一度試してください

新しい Facebook アプリを作成し、APP ID にアクセスします。ドメイン名をblogspot.inとして入力し、リダイレクト URL をブログとして入力しました

次に、以下のコードを使用しました

  <div id="fb-root"></div>
  <script>
    window.fbAsyncInit = function() {
      FB.init({
        appId      : 'YOUR_APP_ID',
        status     : true, 
        cookie     : true,
        xfbml      : true,
        oauth      : true,
      });
    };
    (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));
  </script>
  <div class="fb-login-button">Login with Facebook</div>

Javascript/HTML ガジェットを使用してブログにこのコードを入力しましたが、ログインしてアプリを許可するまではすべて正常に機能しますが、その後エラーが発生します。

hostsファイルで127.0.0.1をlocal.localhostに変更して、localhostを使用してこれを試してみましたが、それでも同じエラーが発生しています。私は多くのスタックオーバーフローの投稿を調べましたが、何も役に立ちませんでした。

私の質問は次のとおりです。

  • Blogger で Facebook を使用したログインを使用できますか
  • もしそうなら、何が問題で、それを修正する方法は何ですか?

Imp: 私のブログにアクセスするとエラーが表示され、右側に facebook オプションでのログインが表示されます (ログインしても何も起こらないので心配しないでください。テスト用に使用しているだけです)。

4

1 に答える 1

1

Facebook ボタンは、ユーザーが Facebook 経由で簡単にログインできるようにする方法を提供します。このようにして、ユーザーはあなたのウェブサイトへの Facebook アクセスを許可し、アクセスの許可が完了すると、Facebook はユーザー データを送信します。このようなデータを使用して、ユーザーの処理、承認、自動ログイン、自動サインアップを行う必要があります。直接行うことはできませんが、Web サイトまたはブログ Web サイトの内部で追加の手順が必要でした。

Facebookログインボタンを使用してWebサイトにFacebookログイン/自動サインアッププロセスを実装する際は、次のアプローチに従います。

i: ページ スクリプト。

 <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);
    } ());

ii: リンクを作成し、ログイン ボタンのクリックを使用するときに facebook 機能を呼び出します。例えば

<a rel="nofollow" href="javascript:void(0);"  onclick="fb_login();">login to facebook</a>

iii: fb_login() 関数を作成する

function fb_login() {
FB.login(function (response) {
    if (response.authResponse) {
        // user authorized
        Process_Login(u, redirect);
    } else {
        console.log('User cancelled login or did not fully authorize.');
    }
  }, { scope: 'email,user_birthday,user_hometown,publish_stream' });
}

// この関数は、承認、自動ログイン、自動登録の目的で、Facebook から取得したデータを ajax 経由で Web サイトに送信する役割を果たします。

function Process_Login() {
FB.api('/me', function (response) {
    var fb_data = "uid=" + response.id + "&fn=" + response.first_name + "&ln=" + response.last_name + "&gn=" + response.gender + "&bt=" + response.birthday + "&eml=" + response.email;
    if (response.hometown != undefined)
        fb_data = fb_data + "&loc=" + response.hometown.name;
    if (response.username != undefined)
        fb_data = fb_data + "&uname=" + response.username;
    $.ajax({
        type: 'GET',
        url: u + "handlers/signup.ashx",
        data: fb_data,
        success: function (msg) {
             // login process completed
             // redirect user to final page.
        }
    });
  });
}
于 2012-04-17T18:31:22.430 に答える