簡體   English   中英

facebook javascript sdk getLoginStatus()問題

[英]facebook javascript sdk getLoginStatus() problems

我正在嘗試設置Facebook Javascript SDK,以允許用戶通過Facebook登錄到站點。 不用說,我對Facebook上的文檔感到困惑。 我的第一個問題是,我是否能夠檢測到登錄Facebook的用戶何時進入我的網站並確定其Facebook ID,然后從那里將其登錄到我的網站(所有這些操作都無需任何用戶交互)? 除了這部分,其他一切似乎都正常。 如果用戶單擊Facebook登錄按鈕,則一切正常,並且getLoginStatus()可以正確運行。 但是在初始頁面加載時,getLoginStatus()似乎並未調用回調函數。 而且我給人的印象是什至不應該有一個登錄按鈕,如果他們登錄了Facebook,它應該是Facebook的“注冊”按鈕。 我在下面包含了一些代碼。 如果有人可以給我任何指導,我將不勝感激。 請記住,我已經刪除了我的應用程序ID和網站名稱,並用“虛擬”文本替換了它們。

<!-- Load Facebook javascript SDK (This should be the first item after the opening body tag) -->
<div id="fb-root"></div>
<script> 
      window.fbAsyncInit = function() {
        FB.init({appId: myAppId, status: true, cookie: true,
                 xfbml: true});

        FB.getLoginStatus(function(response) {
          if (response.session) {
            // logged in and connected user, someone you know
                    alert('I know you');
          } else {
            // no user session available, someone you dont know
               alert('Who are you?');
          }
            alert(response.session.uid);

        });
      };

      (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);
      }());
</script>
<fb:login-button show-faces="false" width="70" max-rows="1" registration-url="myRegistrationUrl" style="margin: 0; padding: 0;"></fb:login-button>

您好,據我所知,您想根據用戶的Facebook帳戶將其登錄到您的網站。 我也一樣 首先,讓用戶登錄到facebook,然后將其用戶ID發送到用戶表,然后將其登錄到您的站點。 對我來說,下面的代碼有效。

<div id="fb-root">
 <script>
   window.fbAsyncInit = function() {
   FB.init({appId: "XXXXXX",
            status: true,
            cookie: true,
            xfbml: true});

    FB.getLoginStatus(function(response) {
      if (response.session) {
        //here send the parameters to your system that logins into your system
        self.location.href="http://www.yoursite.com/login.php";
      } else {

        }
    }); 
    FB.Event.subscribe("auth.login", function(response) {
    window.location.reload();
      });
FB.Event.subscribe("auth.logout", function(response) {
    // to logout

    self.location.href="http://www.yoursite.com/logout.php";
      });
     };
   (function() {
     var e = document.createElement("script");
     e.type = "text/javascript";
     e.src = document.location.protocol +
     "//connect.facebook.net/en_US/all.js";
     e.async = true;
     document.getElementById("fb-root").appendChild(e);
   }());
   </script>

在login.php中,您可以檢查其用戶名。 並將它們登錄到您的站點。 我所做的是,我發送通過jason返回給我的用戶名作為用戶名,並在md5之后作為用戶表中的密碼發送給它。 然后我只需在login.php的用戶表中比較userid並將用戶登錄到我的站點。 我希望它也對你有用

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM