Я новичок в этом, так что медведь со мной. Я установил кнопку «Войти с Facebook» через Javascript SDK, который отлично работает. Я также установил PHP-код (facebook.php) Я могу успешно войти в Facebook через javascript, но затем не могу получить доступ к UID из сеанса через php. Итак, как я могу получить php для доступа к наборам javascript сеанса? благодаряГде найти куки-файлы Facebook?
Edit: (код проводки снизу вот так будет легче читать)
Я могу утешают войти ответ и увидеть его.
FB.getLoginStatus(function(response) {
console.log(response.session.uid);
});
Обновите страницу и попробуйте получить доступ к сеансу, установленному через php, и оно имеет значение null.
require_once(RELATIVE_PATH.'applibs/facebook.php');
$config = array('appId'=>Config::$fb_app_id, 'secret'=>Config::$fb_secret, 'cookie'=>true);
$fb = new Facebook($config);
$fb->getUser(); // this will equal null because the $fb object isnt finding the cookie supposedly set by javascript
* ли некоторые отладки в facebook.php
на линии 358 ... $ cookieName = $ this-> getSessionCookieName();
// Retuns fbs_myNumericAppId, кажется, что работал ..
если (Исеть ($ _ COOKIE [$ cookieName])) {
// FAILS! нет $ _COOKIE ['fbs_myNumericAppId']
Это кажется логичным, как можно входить в facebook.com узнать, что такое мой идентификатор приложения?
Я также заметил, что после входа в facebook.com НИЧЕГО нет facebook, связанного в $ _COOKIE. Итак, чтобы войти в facebook через facebook.com, затем зарегистрируйтесь на веб-сайте, чтобы войти в систему, вам нужно запустить FB.login при загрузке страницы. Затем вы должны установить файл cookie через информацию javacript, возвращенную в $ _COOKIE, чтобы php мог забрать ее где-нибудь еще.
Да, я зарегистрировал приложение. Я могу увидеть ответ. Когда я войду через javascript, но не с php – hogsolo
@hogsolo: Можете ли вы опубликовать какой-то код с тем, что вы пытаетесь сделать? – David
@hogsolo: Все в порядке. Просто убедитесь, что вы запутались в компрометации любого кода, который вы публикуете (например, секрет приложения). Существует несколько различных способов взаимодействия с Facebook, даже с помощью JavaScript, поэтому будет намного проще помочь с базовым кодом, который может воспроизвести проблему. – David