Используя base_facebook.php
и facebook.php
я забыл определить область и base_facebook.php
ее:
$app_id = "11111111111"; $app_secret = "aaaaaaaaaaaaaaaa"; $facebook = new Facebook(array( 'appId' => $app_id, 'secret' => $app_secret, 'cookie' => true )); if(!($facebook->getUser())) { header("Location:{$facebook->getLoginUrl(array('req_perms' => 'user_status,publish_stream,user_photos'))}"); exit; }
Редактировать Я изменил строку заголовка на следующую, не повезло:
header('Location:'.$facebook->getLoginUrl(array('req_perms' => $scope)));
В первый раз, когда я посетил страницу, меня перенаправили на место, которое попросило меня принять это приложение. Я сделал, а остальные работали правильно.
Теперь я понимаю, что мне нужно определить область, поэтому я добавил строку с разделителями-запятыми, такую как user_checkins
но обновление страницы не требует дополнительного соглашения и не позволяет мне просматривать мои проверки.
$scope = 'user_checkins,user_likes'; $facebook = new Facebook(array( 'appId' => $app_id, 'secret' => $app_secret, 'cookie' => true, 'scope' => $scope ));
Я пропустил что-то тривиальное? Я попытался сбросить секрет приложения, но ничего не сделал. Также я не могу найти достойный учебник 🙁
Заранее спасибо!
Ответ : Добавление scope
в new Facebook()
ничего не делает! Ошибка заключалась в том, что использование getLoginUrl () передавало req_perms
и необходимое для пропуска scope
:
header('Location:'.$facebook->getLoginUrl(array('scope' => $scope)));
То, что вам не хватает, – это просто, просто зайдите в свою учетную запись в facebook и в настройках конфиденциальности, перейдите в «приложения и веб-сайты» и удалите текущие настройки вашего приложения желания, теперь попробуйте еще раз, вам нужно будет запросить у вас разрешения в новостях продлен perms, удачи, дайте мне знать, если это работает 🙂