Я пытаюсь сделать небольшое приложение facebook с php & facebook PHP API. Мне нужно предоставить разрешения для публикации статуса и т.д. Но это не работает. Вот мой код:
<?php
require './src/facebook.php';
$facebook = new Facebook(array(
'appId' => '###',
'secret' => '###',
));
$user = $facebook->getUser();
if ($user) {
if ($user) {
$logoutUrl = $facebook->getLogoutUrl();
echo "<a href='$logoutUrl'>Logout</a>";
} else {
$loginUrl = $facebook->getLoginUrl(array(
'req_perms' => 'publish_stream,read_friendlists,email'
));
echo "<a href='$loginUrl'>Login with Facebook</a>";
}
?>
Когда я нажимаю на Login url, не получаю разрешения (publish_stream, read_friendlists, email). Я вижу только "Вход в систему не добавит активности этого приложения в Facebook".
Во-первых, у вас есть синтаксическая ошибка в вашем коде. Смотрите эти 2 строки
if ($user) {
if ($user) {
удалите один из них.
Во-вторых, не используйте req_perms
, но scope
, которая является точкой вашей проблемы
Это хорошо работает
<?php
require './src/facebook.php';
$facebook = new Facebook(array(
'appId' => '##',
'secret' => '##',
));
$user = $facebook->getUser();
if ($user) {
$logoutUrl = $facebook->getLogoutUrl();
echo "<a href='$logoutUrl'>Logout</a>";
} else {
$loginUrl = $facebook->getLoginUrl(array(
'scope' => 'publish_stream,read_friendlists,email'
));
echo "<a href='$loginUrl'>Login with Facebook</a>";
}
demo (Нет, я не собираю никаких данных)
$loginUrl
if ($user) {
?