UPDATE:
Для того,
щоб відповісти на API Error Code: 191 повинен дорівнювати (або відносна) до URL сайту.
redirect_uri
Порада. Використовуйте базові 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 /
Хоча я був впевнений, що ти не можеш цього зробити, виходячи з мого власного досвіду (дуже старий тест), здається, ти насправді МОЖЕШ тестувати свою програму Facebook локально!
Тож я взяв стару програму та відредагував її назву, URL-адресу сайту та URL-адресу полотна: URL-адресу сайту: http://localhost:80/fblocal/
Я завантажив останню версію PHP-SDK для Facebook і кинув її у свою 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;
}
}
Результати: