Как получить доступ к данным пользователя на перенаправленной странице в Facebook - PullRequest
0 голосов
/ 20 марта 2012

Я добавил кнопку входа в Facebook для моего сайта. Код указан ниже,

<html>
<head>
<title>My Great Web page</title>
</head>
<body>

<div id="fb-root"></div>
<script>
        window.fbAsyncInit = function() {
          FB.init({
            appId      : 'MY_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" data-show-faces="false" data-width="200" data-max-rows="1" scope="user_about_me,user_activities,user_birthday,email"  on-login="top.location = 'http://localhost/index.php/';">Login with Facebook</div>

</body>
</html>

Когда пользователь нажимает кнопку «Войти через Facebook», окно аутентификации отображается с расширенными правами. Когда пользователь разрешает доступ к деталям, пользователь направляется в файл index.php , используя

on-login="top.location = 'http://localhost/index.php/';"

Теперь я хочу напечатать все данные о доступе, такие как имя пользователя, день рождения и т. Д. в файле index.php
Может кто-нибудь сказать, пожалуйста, как это сделать?

1 Ответ

1 голос
/ 20 марта 2012

Я не знаю, откуда у вас этот атрибут on-login для кнопки входа (я не смог его найти), но вот пример того, как вы можете делать то, что хотите. Это не проверено, я просто создал это для вас, чтобы вы поняли.

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

     FB.Event.subscribe("auth.login", function (response) {
        if (response.status == "connected") {
            var userid = response.authResponse.userID;
            var signedRequest = response.authResponse.signedRequest;
            var expiresIn = response.authResponse.expiresIn;
            var accessToken = response.authResponse.accessToken;

            // do something with the data.

            window.location = "index.php";
        }
     });

    (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" data-show-faces="false" data-width="200" data-max-rows="1" scope="user_about_me,user_activities,user_birthday,email">Login with Facebook</div>

Подробнее о подписке на события можно прочитать здесь: FB.Event.subscribe , и эту ветку вы можете найти полезной: Получить основную информацию о пользователе с помощью плагина кнопки входа в Facebook?

...