Я использую PHP-SDK для Facebook и получил пример для работы на моем localhost. Однако при создании сценария на сервере сценарий остается занятым перенаправлением из моего скрипта в facebook и обратно. (Ошибка: Fout 310 (нет :: ERR_TOO_MANY_REDIRECTS) 🙂
Похоже, что еще много людей получили эту проблему ( здесь , здесь , здесь , здесь ). Хотя, я не могу найти ясный ответ, что пойдет не так.
Перенаправление на facebook (ответ 302):
https://www.facebook.com/dialog/oauth?client_id=166958180001271&redirect_uri=http%3A%2F%2Fdomain.com%2Fscripts%2FGateway.php%3Faction%3DAllowFacebookAccessAction%26app%3D14&state=0dbc178a375595da4751265a7147c01e#_=_
Перенаправление в mydomain (ответ 302):
http://domain.com/scripts/Gateway.php?action=AllowFacebookAccessAction&app=14&state=0dbc178a375595da4751265a7147c01e&code=AQD-dTeyns0OWpGb_PzfHxUy2iRmpc1XgP6Q24DDRX8MiRTE10lV-b-aSNIlOLVHk576vRs3H8Pf9n0kGwU827MrkzUCUoQGFGEQBkkOJnCy9zb6hZs7TVBsKL2iSuZIhDjLsCOPeKy3zfb37Q6LGhtMICCdB_IQAvU0uRvAkSAX8tdVJ65PEv8imx-2yvLaMoGJleZwKogh7m03vlhV8hJk#_=_
Часть кода, создающего эту проблему
... $facebook = new FacebookApi(array( 'appId' => $app->getProperty('apiKey'), 'secret' => $app->getProperty('secretKey'), )); $user = $facebook->getUser(); if (!$user) { header('location: ' . $facebook->getLoginUrl()); exit; } ...
ОБНОВИТЬ:
Я исключил, что это настройка сервера. Я смог запустить исходный пример скрипта на этом сервере.
Повторно проверьте secret
своего приложения в настройках вашего приложения https://developers.facebook.com/apps, иначе выгрузите сеанс
<?php print_r($_SESSION); ?>
И выровняйте токен https://developers.facebook.com/tools/debug.
Довольно уверен, что либо маркер искажен, либо секрет.
Если нет, это код, который вы не показывали.