Я новичок в PHP, и мне очень трудно понять систему входа в facebook.
Я загрузил три файла src / gitub (https://github.com/facebook/php-sdk/). Я попытался использовать файл example.php, чтобы начать работу. Однако я не уверен, что с этим делать.
Для тех, кто не знаком с файлом, вот копия example.php, с удаленным стилем:
require '../src/facebook.php'; $facebook = new Facebook(array( 'appId' => '...', 'secret' => '...', )); $user = $facebook->getUser(); if ($user) { try { $user_profile = $facebook->api('/me'); } catch (FacebookApiException $e) { error_log($e); $user = null; } } if ($user) { $logoutUrl = $facebook->getLogoutUrl(); } else { $loginUrl = $facebook->getLoginUrl(); } $naitik = $facebook->api('/naitik'); ?> <!doctype html> <html xmlns:fb="http://www.facebook.com/2008/fbml"> <body> <?php if ($user): ?> <a href="<?php echo $logoutUrl; ?>">Logout</a> <?php else: ?> <div> Login using OAuth 2.0 handled by the PHP SDK: <a href="<?php echo $loginUrl; ?>">Login with Facebook</a> </div> <?php endif ?> <h3>PHP Session</h3> <pre><?php print_r($_SESSION); ?></pre> <?php if ($user): ?> <h3>You</h3> <img src="https://graph.facebook.com/<?php echo $user; ?>/picture"> <h3>Your User Object (/me)</h3> <pre><?php print_r($user_profile); ?></pre> <?php else: ?> <strong><em>You are not Connected.</em></strong> <?php endif ?> <h3>Public profile of Naitik</h3> <img src="https://graph.facebook.com/naitik/picture"> <?php echo $naitik['name']; ?> </body> </html>
Вот вопросы, которые я имею в связи с этим:
1) Как насчет куки? – Я хочу, чтобы пользователь мог войти на мой сайт после повторного открытия своего браузера.
2) Какой минимальный минимум мне нужно получить из этого файла example.php для проверки / регистрации пользователя, начала сеанса, сохранения сеанса в cookie, получения идентификатора пользователя fb пользователя, имени fb, fb-изображения и список друзей fb?
3) В src / files есть один файл fb_ca_chain_bundle.crt, и я совершенно не знаком с тем, что такое файл, и я не уверен, что это даже необходимо. В чем его цель?
4) Линия $naitik = $facebook->api('/naitik');
это «naitik» имя пользователя этого человека, поэтому, если я наберу facebook.com/naitik, он покажет его общедоступный профиль? заменяет «/ naitik» на «/ me», что получит общедоступный профиль человека, зарегистрированного в facebook?
5) Как получить токен доступа и как его использовать в моем коде?
6) Когда я создаю сеанс для пользователя и файл cookie, чтобы пользователь регистрировался после повторного открытия браузера, что я должен точно хранить на своих сеансах и куки?
Я знаю, что это много вопросов, но я просмотрел множество обучающих программ в Интернете, и никто из них не проделал хорошую работу, объясняя это, главным образом потому, что они просто ссылаются на файлы PHP-SDK Github. Кроме того, большинство из них объясняет предыдущую версию PHP-SDK. Любая помощь приветствуется, с любым из вопросов.
Чтобы ответить на ваши вопросы
1) Как насчет печенья?
Вы просто добавляете параметр в инициализацию Facebook. Измените его на следующие
$facebook = new Facebook(array( 'appId' => '...', 'secret' => '...', 'cookie' => true, ));
2) Что такое минимальный минимум, мне нужно выйти из этого файла example.php, чтобы …
В этом примере не все, что вам нужно. В верхней части кода показано, как подключать и проверять пользователя. Вторая половина просто сбрасывает свои основные детали и детали Найтика. Для остальных вам нужно посмотреть дальше.
3) В файле src / files есть один файл fb_ca_chain_bundle.crt,
Цель этого файла – предложить обходной путь для ошибки CURL 60. Прочтите это:
http://www.takwing.idv.hk/blog/2011/php-sdk-demystified-%E2%80%93-how-curl-error-60-is-handled/
4) Линия $ naitik = $ facebook-> api ('/ naitik'); это «naitik» имя пользователя этого человека, поэтому, если я наберу facebook.com/naitik, он покажет его общедоступный профиль? заменяет «/ naitik» на «/ me», что получит общедоступный профиль человека, зарегистрированного в facebook?
Абсолютно верно
5) Как получить токен доступа и как его использовать в моем коде?
$ Facebook-> getAccessToken ();
Вы добавляете некоторые вызовы метода, но это не обязательно для всего.
6) Когда я создаю сеанс для пользователя и файл cookie, чтобы пользователь регистрировался после повторного открытия браузера, что я должен точно хранить на своих сеансах и куки?
SDK Facebook собирается позаботиться об этом. Вам просто нужно будет хранить дополнительную информацию о пользователе, которое требуется вашему приложению.