На локальном хосте все работает, а на сервере не работает. (показывает пустую страницу для Chrome и показывает внутреннюю ошибку сервера HTTP 500 в IE. Я попытался получить журнал ошибок, добавив код в начало файла php, но не смог получить журнал, но пустая страница)
error_reporting(E_ALL);
ini_set("display_errors", 1);
Сервер работает с PHP 5.5, с включенным CURL SSL. Я попытался установить IP-адрес сервера в белый список в настройках Facebook, но это тоже не работает. Идентификатор Facebook и секрет на сервере верны.
Я использую Facebook Javascript SDK для получения токена доступа пользователя
FB.login(function(response) {
if (response.authResponse) {
var access_token = response.authResponse.accessToken;
Затем перейдите к facebook.php с помощью AJAX для проверки и получения профиля пользователя.
$.ajax({
type: "POST",
url: "facebook.php",
data: 'access_token='+access_token
facebook.php
require 'FB_php_sdk_v4/autoload.php';
use Facebook\FacebookSession;
use Facebook\FacebookRequest;
use Facebook\GraphUser;
use Facebook\FacebookRequestException;
FacebookSession::setDefaultApplication('app_id', 'app_secret');
$session = new FacebookSession($_POST['access_token']);
// get GraphUser info by Facebook API
try {
$me = (new FacebookRequest(
$session, 'GET', '/me'
))->execute()->getGraphObject(GraphUser::className());
$first_name = $me->getFirstName();
$uid = $me->getId();
} catch (FacebookRequestException $e) {
$code = $e->getCode();
$error_msg = $e->getMessage();
echo $code.$error_msg;
}
Я попробовал другой сценарий и обнаружил, что при выполнении FacebookRequest страница становится пустой.
$me = (new FacebookRequest(
$session, 'GET', '/me'
))->execute()->
Я застрял здесь на несколько дней> ‹ надеюсь, кто-то может помочь. Большое спасибо!