Facebook php приложение, req_perms

1

Я пытаюсь сделать небольшое приложение 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".

  • 0
    Пожалуйста, вы можете вставить ссылку, созданную вашим кодом? на $loginUrl
  • 0
    Кроме того, почему у вас есть две строки if ($user) { ?
Теги:
facebook

1 ответ

4
Лучший ответ

Во-первых, у вас есть синтаксическая ошибка в вашем коде. Смотрите эти 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 (Нет, я не собираю никаких данных)

  • 0
    Спасибо, это отлично работает.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню