Мы хотим разрешить пользователям входить на наш сайт со своей учетной записью Facebook, поэтому я выполнил шаги, которые FB дал, чтобы добавить кнопку входа в facebook в наш заголовок:
Сразу после тега тела на сайте я закончил с этим:
<div id="fb-root"></div> <script> window.fbAsyncInit = function() { FB.init({ appId : '331796760586880', cookie : true, xfbml : true, version : 'v2.8' }); FB.AppEvents.logPageView(); }; (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/en_US/sdk.js"; fjs.parentNode.insertBefore(js, fjs); }(document, 'script', 'facebook-jssdk')); </script>
Синяя кнопка входа в навигационную панель (или, возможно, меню входа в систему):
if($loggedIn == false){ ?> <div style="margin-top: 5px;"><div class="fb-login-button" data-max-rows="1" data-size="small" data-button-type="login_with" data-show-faces="false" data-auto-logout-link="false" data-use-continue-as="false"></div></div> <?php }
Теперь мне нужно как-то получить электронную почту и имя пользователя пользователя facebook в переменной php, так как наш сайт знает, кто вошел в систему.
так что это должно закончиться чем-то вроде этого:
$user_email = //facebook user's email $user_username = //facebook user's username
Затем я могу сравнить его с существующими пользователями на нашем сайте и либо зарегистрировать их, либо создать новую учетную запись.
Или, по крайней мере, поместить их в переменные js, тогда я смогу найти способ отправить их на серверную php с помощью Ajax или что-то еще:
var user_email = //facebook user's email var user_username = //facebook user's username
В коде facebook дал мне, я не вижу, где он возвращает учетные данные пользователя
Я нашел код, который может быть таким:
$user = $response->getGraphUser(); echo 'Name: ' . $user['name'];
Но я понятия не имею, куда его поместить.
Благодаря 🙂