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 小工具在我的博客中输入了这段代码,一切正常,直到登录并允许应用程序,之后我得到了错误。

我什至通过将主机文件中的 127.0.0.1 更改为 local.localhost 来尝试使用 localhost 但即使这样我也遇到了同样的错误。我浏览了许多 stackoverflow 帖子,但没有任何帮助。

我的问题是;

  • 我们可以在博客中使用 Facebook 登录吗
  • 如果是这样,问题是什么以及如何纠正它?

Imp:您可以通过访问我的博客来查看错误,在右侧您可以看到使用 facebook 选项登录(不要担心登录没有任何反应,我只是用它来测试)

4

1 回答 1

1

facebook 按钮提供了一种方便用户通过 facebook 登录的方法。通过这种方式,用户授予 Facebook 访问您网站的权限,一旦授予访问权限完成,Facebook 将向您发送用户数据。您必须使用此类数据来处理、授权、自动登录、自动注册用户。它不能直接完成,但需要在您的网站或博客网站内部执行其他步骤。

在使用 facebook 登录按钮在您的网站中实现 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' });
}

// 此函数负责通过 ajax 将从 facebook 检索到的数据发送到您的网站,用于授权、自动登录、自动注册目的。

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 回答