Intereting Posts
отправлять электронную почту с помощью SMTP-сервера Gmail через PHP Mailer Есть ли идиоматический способ получить потенциально неопределенный ключ из массива в PHP? Как фильтровать значения массива из других значений массивов и возвращать новый массив? Magento getUrl не работает с объектом каталога / категории? Должен ли я использовать текстовый файл или базу данных для счетчика посетителей PHP? Форма загрузки PHP, PDF, Doc & Docx Запрос обновления MySQL в PHP Проверка XML: «Совпадение глобальной декларации недоступно для ошибки проверки» Невозможно использовать имя столбца переменной PHP для обновления столбца в SQL Активный токен доступа должен использоваться для запроса информации о текущем пользователе доступ запрещен для пользователя «root» @ localhost mysql error 1045 Почему я не могу передать переменные во включенный файл в PHP? Отображение цены только при выборе варианта и скидки в процентах относительно обычной цены Загружать данные в прокрутку вверх, как в чате, в чате Как добавить атрибуты в объект Java SoapVar?

Facebook PHP SDK v4.0 FacebookJavaScriptLoginHelper возвращает состояние NULL

Im работает на моем localhost, используя FB PHP SDK 4.0. Я смог завершить вход с помощью JS SDK, теперь я пытаюсь получить доступ к некоторой информации через PHP SDK.

На каждой странице я добавляю этот код js и php.

JavaScipt

window.fbAsyncInit = function() { FB.init({ appId : 'app-id', xfbml : true, version : 'v2.1', status : true, cookie : true }); FB.getLoginStatus(function(response) { statusChangeCallback(response); }); }; (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')); 

PHP

 session_start(); //NO COMPOSER require '/path-to/autoload.php'; use Facebook\FacebookSession; use Facebook\FacebookJavaScriptLoginHelper; FacebookSession::setDefaultApplication('app-id', 'app-secret'); $helper = new FacebookJavaScriptLoginHelper(); try { $session = $helper->getSession(); } catch(FacebookRequestException $ex) { // When Facebook returns an error } catch(\Exception $ex) { // When validation fails or other local issues } if ($session) { // Logged in. } 

На JavaScript, когда я вызываю FB.getLoginStatus (), он дает мне успешный ответ. Однако на стороне PHP всякий раз, когда я сбрасываю $helper он возвращается с ["state"]=> NULL . Я убедился, что мой идентификатор приложения совпадает.

Я думал, что они обмениваются сообщениями через cookie но когда я просматриваю свои файлы cookie и данные сайта, я не могу найти что-то важное. Или мне нужен токен доступа, чтобы сделать это?

Related of "Facebook PHP SDK v4.0 FacebookJavaScriptLoginHelper возвращает состояние NULL"

Он работает, когда я тестировал Firefox. На самом деле это проблема Chrome: Google Chrome не поддерживает файлы cookie для локальных файлов (включая localhost), если вы не запустите его с помощью флага –enable-file-cookies. Тем не менее, Chrome поддерживает файлы cookie, если вы используете локальный IP-адрес-127.0.0.1- для тестирования.

См. https://stackoverflow.com/a/10081969/1158909