Публикация на офлайн-стене Facebook

#facebook

#Facebook

Вопрос:

У меня действительно есть веб-сайт для ресторана, на котором есть модуль регистрации facebook для регистрации пользователей. На моем веб-сайте есть два типа пользователей: один — обычный зарегистрированный пользователь, а второй — зарегистрированный пользователь Facebook. Кажется, до этого момента это работало корректно.На веб-сайте всем пользователям разрешено размещать свои собственные отзывы об отелях, избранных и т.д.

Мне нужен способ автоматического обмена отзывами, лайками и избранными на стене Facebook пользователей на веб-сайте Facebook, используя там данные Fb (Fbid), которые я сохранил в своей базе данных. Каждый отзыв должен быть размещен на стене FB, используя его / ее собственный fb-id без входа в систему fb. Существует ли какой-либо плагин php-Facebook / JSSDK для удовлетворения этого требования?

Я использовал следующие строки библиотечных кодов, но пока ничего не произошло.

 require_once 'facebook.php';
$api_key = 'yyyyyyyyyyyyyyyyyyy';
$secret = 'xxxxxxxxxxxxxxxxxxxx';
$name = 'Publish feed code example';
$id='100001948358224';
$name_href = 'http://forum.developers.facebook.com/viewtopic.php?id=44721';
$caption = 'A simple code caption text';
$description = 'The new Facebook.streamPublish code to pop up a publish feed form';
$img_1 = 'http://www.applications.junkieyard.com/fbfgsfy/images/smileys/smiley-09-05.png';
$img_1_href = 'http://apps.facebook.com/fbfgsfy/profile.php';
$action_links_text = 'Facebook?';
$action_links_href = 'http://www.facebook.com/';
$attachment = array('name' => $name, 'href' => $name_href, 'caption' => $caption, 'description' => $description, 'media' => array(array('type' => 'image', 'src' => $img_1, 'href' => $img_1_href)));
$action_links = array(array('text' => $action_links_text, 'href' => $action_links_href));
if ($id) {

    $target_id = $id;
    ?>
    <script>
        var message = "";
        var attachment = <?=json_encode($attachment)?>;
        var action_links = <?=json_encode($action_links)?>;
        var target_id = <?=$target_id?>;
        alert(Facebook.streamPublish(message, attachment, action_links, target_id));
    </script>
    <?php
}
  

?>

Комментарии:

1. Вам просто нужно publish_stream разрешение вместе с идентификатором пользователя uid . Если у вас есть такая информация, это несложная задача.

Ответ №1:

offline_access больше не используется в facebook, новый способ — это время истечения ТОКЕНА через новую конечную точку подробнее на https://developers.facebook.com/roadmap/offline-access-removal

Ответ №2:

Вам нужно будет запросить у пользователя publish_stream и offline_access разрешения на публикацию на его стене, когда его сеанс неактивен.

Чтобы разместить сообщение на их стене программно, используйте метод feed из FB.ui

 FB.ui(
    {
        method: 'feed',
        name: 'Restaurant App',
        link: 'http://apps.facebook.com/yourapp',
        caption: 'Check out my review',
        description: 'The most awesome restaurant ever.',
        message: 'Check out this awesome app'
    },
    function(response) {
        console.log(response);
        console.log(response.post_id);
        if (response amp;amp; response.post_id) {
            console.log('Post was published.');
        } else {
            console.log('Post was not published.');
        }
    }
    );
  

Чтобы увидеть приведенный выше код в действии, ознакомьтесь с ним в демонстрационном приложении FBRell

Комментарии:

1. Спасибо за ваш ответ. существует ли какой-либо полный подробный код с четкой спецификацией автономного доступа.

2. @Anandhan Вы должны включить это в свой список разрешений, когда запрашиваете разрешения. Смотрите этот пример кода .

3. я использовал приведенный выше фрагмент кода для выполнения этого, но по-прежнему не имею достаточных разрешений для этого. Не могли бы вы, пожалуйста, предоставить мне еще несколько рабочих примеров. я не хочу, чтобы пользователи повторно регистрировались на сайте, мне нужно использовать существующие данные (FB-id) для публикации на его стене FB.