Как разместить на стене в фейсбуке, не открывая диалоговое окно? - PullRequest
0 голосов
/ 03 октября 2011

У меня есть программа викторины на моем сайте, где пользователь входит через свою учетную запись Facebook и играет в викторину.

После успешного завершения викторины я хочу опубликовать их счет и ранг на их стене.Facebook вход и выход из системы работает нормально.Как мне показать их счет и звание на их стене, не отображая диалоговое окно?

Я использую этот код для публикации счета и рейтинга на стене пользователя-

require 'src/facebook.php';

<?php
    $facebook = new Facebook(array(
        'appId'  => 'APP ID',
        'secret' => 'SECRET KEY',
    ));
?>
<script>
    FB.init({ 
        appId:'APP ID', cookie:true, 
        status:true, xfbml:true 
    });

    FB.ui({ method: 'feed', 
        message: '<?php echo "My score is ".$myscore." and rank is ".$rank; ?>'});
</script>

Этот кодоткрывает диалоговое окно для меня, но это с пустым полем ввода.Если пользователь просто нажмет на кнопку «Опубликовать», то на его стене ничего не будет размещено, и если он отредактирует текст в поле ввода, он отправит неверную информацию.Либо это поле должно быть недоступно для редактирования, либо этого поля не должно быть.

Пожалуйста, предложите мне решение с примером кода.

Ответы [ 2 ]

0 голосов
/ 04 октября 2011

Вы должны запросить разрешения «publish_stream», чтобы иметь возможность публиковать истории новостных лент без показа диалога пользователю.

Пример кода может выглядеть следующим образом:

FB.login(function(response) {
  if (response.authResponse) {
    console.log('Posting message');
    FB.api('/me', 'post', {message: 'Beware, boiling water...'});
   } else {
     console.log('User cancelled login or did not fully authorize.');
   }
 }, {scope: 'publish_stream'});
0 голосов
/ 03 октября 2011

Это потому, что FB не позволяет предварительно редактировать поле сообщения. Если вы хотите опубликовать что-либо на стене пользователя, у вас должно быть разрешение «publish_stream» от пользователя, чтобы вы могли публиковать сообщения, не прося пользователя ввести что-либо в его окне сообщений или нажав кнопку «Опубликовать». Но для этого вам нужно вызвать FB.api для доступа к Graph API, чтобы получить доступ к стене пользователя. Для получения более подробной информации см. Graph API .

Добавляя к этому написанному вами коду, вы должны использовать методы OAuth2, добавив «oauth: true» к параметру FB.init.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...