UPDATE:
Чтобы ответить API Error Code: 191
redirect_uri
должно быть равно (или относительно) URL сайта.
Подсказка: Используйте базовые URL-адреса вместо полных URL-адресов, указывающих на конкретные страницы.
НЕ РЕКОМЕНДУЕТСЯ: Например, если вы используете www.mydomain.com/fb/test.html
в качестве URL-адреса своего сайта и наличие www.mydomain.com/fb/secondPage.html
в качестве redirect_uri
, это даст вам ошибку 191.
РЕКОМЕНДУЕТСЯ: Вместо этого вместо URL вашего сайта установите базовый URL, например: www.mydomain.com/
ИЛИ www.mydomain.com/fb/
.
Сегодня я просмотрел пример приложения на Facebook Python , и я был в шоке , и было ясно, что вы можете использовать http://localhost:8080/
в качестве URL сайта , если вы развиваетесь локально:
Настройте URL сайта и укажите его
на ваш веб-сервер. Если вы
развиваясь локально, вы можете использовать
http://localhost:8080/
Хотя я был уверен, что вы не можете сделать это, основываясь на моем собственном опыте (хотя очень старый тест), кажется, что вы на самом деле CAN тест ваше приложение Facebook локально!
Итак, я взял свое старое приложение и отредактировал его имя, URL сайта и URL холста:
URL сайта: http://localhost:80/fblocal/
Я скачал последнюю версию Facebook PHP-SDK и бросил ее в папку xampp/htdocs/fblocal/
.
Но я получил ту же ошибку, что и ты! Я заметил, что XAMPP выполняет автоматическое перенаправление на http://localhost/fblocal/
, поэтому я изменил настройку на просто http://localhost/fblocal/
, и ошибка исчезла НО Мне пришлось удалить приложение (из настройки конфиденциальности ) и переустановите мое приложение, и вот результаты:
После этого попросил разрешения publish_stream
, и я смог опубликовать в своем профиле (используя PHP-SDK):
$user = $facebook->getUser();
if ($user) {
try {
$post = $facebook->api('/me/feed', 'post', array('message'=>'Hello World, from localhost!'));
} catch (FacebookApiException $e) {
error_log($e);
$user = null;
}
}
Результаты: