Частное размещение на стене друзей на Facebook с помощью Graph API - PullRequest
4 голосов
/ 18 декабря 2010

Я хотел опубликовать фид на стене друзей из своего приложения и сделать его приватным, который будет виден зарегистрированному пользователю и другу. Я хочу сделать это с помощью нового API Graph. Я увидел, что если я установлю параметр «to» в ленте новостей, он будет опубликован на стене друзей.

Я нашел код здесь: http://forum.developers.facebook.net/viewtopic.php?id=56458 (Автор VovaOnline) (ссылка не работает, так как Facebook снял форум)

$result = $facebook->api('/me/feed', 'POST', array(
            'from' => array(
                'name' => 'Vladimir Ageenko',
                'id'   => '100001308281502'
            ),
            'name'    => 'TEST NAME',
            'caption' => 'Test Caption',
            'description' => 'Test Description',
            'message' => 'This is test.',
            'privacy' => array(
                'description' => 'Vladimir Sergeevich',
                'value'   => 'CUSTOM',
                'friends' => 'SOME_FRIENDS',
                'allow'   => '100001338940933'
            )
         ));

Я устанавливаю тип сообщения как "ссылка". Может кто-нибудь сказать мне, что не так в этом коде. Одно я знаю, что поле «from» должно быть «to» и должно передаваться в переменную «data». Я не уверен, как это сделать. Кто-нибудь может мне помочь?

Ответы [ 3 ]

5 голосов
/ 22 сентября 2011

Вы должны закодировать массив конфиденциальности, попробуйте это:

$privacy = array(
            'description' => 'Vladimir Sergeevich',
            'value'   => 'CUSTOM',
            'friends' => 'SOME_FRIENDS',
            'allow'   => '100001338940933'
        );

$result = $facebook->api('/me/feed', 'POST', array(
        'from' => array(
            'name' => 'Vladimir Ageenko',
            'id'   => '100001308281502'
        ),
        'name'    => 'TEST NAME',
        'caption' => 'Test Caption',
        'description' => 'Test Description',
        'message' => 'This is test.',
        'privacy' => json_encode($privacy)
     ));
1 голос
/ 29 апреля 2013

Отныне нельзя публиковать на стене пользователя в связи с критическими изменениями 6 февраля 2013 года:

https://developers.facebook.com/roadmap/completed-changes/

Удаление возможности публиковать в стенах друзей через Graph API. удалите возможность публиковать сообщения на стенах друзей пользователя через график API. В частности, сообщения против [user_id] / feed, где [user_id] отличается от пользователя сеанса или вызовов stream.publish, где Пользователь target_id отличается от пользователя сеанса, произойдет сбой. если ты хотите разрешить людям публиковать сообщения в хронологию своих друзей, Диалог подачи. Истории, которые включают в себя друзей через упоминания пользователя или теги действий будут отображаться на временной шкале друга (при условии, что друг утверждает тэг). Для получения дополнительной информации см. Этот пост в блоге.

1 голос
/ 07 января 2011

Я не думаю, что Facebook позволяет вам делать это в настоящее время.Посмотрите на графические API-документы по публикациям:

http://developers.facebook.com/docs/reference/api/post/

В нем говорится о конфиденциальности:

"Примечание. Этот параметр конфиденциальности применяется только к публикациям вСтена текущего или указанного пользователя. Facebook игнорирует этот параметр для целевых сообщений на стене (когда пользователь пишет на стене друга, страницы, события, группы, подключенной к пользователю). В соответствии с поведением в Facebook все целевые сообщения доступны для просмотра.любым, кто может видеть Стену цели. "

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

...