Публикация на стене друзей в facebook в частном порядке с использованием графического API

Я хотел опубликовать ленту на стене друзей из своего приложения и установить ее как приватную, которую могут просматривать вошедший в систему пользователь и друг. Я хочу сделать это с помощью нового Graph API, я видел, что если я установлю параметр «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'
            )
         ));

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


person happyhardik    schedule 18.12.2010    source источник
comment
привет ссылка в вашем вопросе больше не существует не могли бы вы обновить ее   -  person tanay tandon    schedule 13.03.2014


Ответы (3)


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

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

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

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

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

person Phil_Ken_Sebben    schedule 06.01.2011
comment
Могу подтвердить. Это ответ, который я получаю, когда устанавливаю конфиденциальность. {"error":{"message":"(#100) The privacy param cannot be applied when a target is specified.","type":"OAuthException","code":100}}%. - person Tate Johnson; 23.01.2013

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

$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)
     ));
person Bernardo    schedule 22.09.2011

С этого момента невозможно публиковать сообщения на стене друзей пользователя из-за критических изменений от 6 февраля 2013 года:

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

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

person Karol    schedule 29.04.2013