我正在为Facebook制作游戏,我希望他们能够登录,然后进入游戏。 我有一个带有弹出屏幕的登录按钮,我需要它们需要,但我不能让它们重定向回到我的URL。

我使用这个代码:

<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/nl_NL/all.js#xfbml=1&appId=380841622050947";
  fjs.parentNode.insertBefore(js, fjs);
  window.navigate("www.google.com");
}(document, 'script', 'facebook-jssdk')); </script>

<div class="fb-login-button" data-max-rows="5" data-size="xlarge" data-show-faces="true" data-auto-logout-link="false" scope="email,publish_stream"></div>
.

我缺少什么?

我尝试过这个:

window.navigate(”top.jsp”);
.

但我似乎不能抓住“登录的播放器”的动作,所以我可以在此之后重定向。

提前感谢!!

有帮助吗?

解决方案

如果要在成功登录后重定向用户,则可以使用 FB.Event.subscribe -

完成代码将是 -

<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/nl_NL/all.js#xfbml=1&appId=380841622050947";
   fjs.parentNode.insertBefore(js, fjs);
   }(document, 'script', 'facebook-jssdk')); 

   window.fbAsyncInit = function() {
      FB.init({
        appId      : '380841622050947',
        status     : true, // check login status
        cookie     : true, // enable cookies to allow the server to access the session
        xfbml      : true  // parse XFBML
      });
      FB.Event.subscribe('auth.login', function(r){
         console.log(r.status);
         if ( r.status === 'connected'){
              window.location.href = '{redirect-to-url}'
         }
      });
    };
</script>

<div class="fb-login-button" data-max-rows="5" data-size="xlarge" data-show-faces="true" data-auto-logout-link="false" scope="email,publish_stream"></div>
.

其他提示

嗯,似乎您不使用能够通过JS SDK登录所需的完整代码。查看 https://developers.facebook下的指南。com / docs / facebook-login / login-flow-for web

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top