Опубликовать пост с картинкой и ссылкой на стене мероприятия - PullRequest
2 голосов
/ 25 сентября 2011

Есть ли способ опубликовать пост с картинкой и ссылкой на стене события? В настоящее время я могу публиковать только статусы (сообщения). На стене пользователя такой проблемы нет. Я попробовал новый API-интерфейс Graph, а также старый REST API (метод stream.publish), но безуспешно (используя PHP SDK). Заранее спасибо.

Код, который я использую для Graph API:

$attachment = array(
            'message' => 'my message',
            'name' => 'This is my demo Facebook application!',
            'caption' => "Caption of the Post",
            'description' => 'this is a description',
            'picture' => 'link to an image',
            'actions' => array(array('name' => 'See recipe',
            'link' => 'http://www.google.com'))
        );
$facebook->api('/'.$eventID.'/feed/','post',$attachment);

Код для REST API:

$url = "https://api.facebook.com/method/stream.publish?".$access_token;

$attachment = array('name' => 'This is my demo Facebook application!',
   'href' => 'http://news.google.com',
   'description' => 'It is fun!',
   'media'=> array(array(
                  'type'=> 'image',
                  'src' => 'link to an image',
                  'href' => 'http://www.google.gr'))
   );

$params = array();
$params['message'] = "my message";
$params['attachment'] = json_encode($attachment);
$params['target_id'] = $eventID;

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
$result = curl_exec($ch);
curl_close($ch);

Как я упоминал выше, оба работают, если я публикую на стене пользователя. На стене события публикуется сообщение о состоянии, отображающее только содержимое параметра message.

1 Ответ

0 голосов
/ 26 сентября 2011

У меня такая же проблема.Сообщение на стене события появляется только в виде текстового сообщения, и невозможно опубликовать «ссылку» или «сообщение» на стене события через какой-либо API.Одно и то же сообщение по-разному отображается на стене пользователя или на стене события.Поведение можно проверить здесь: http://developers.facebook.com/docs/reference/rest/stream.publish/ Просто заполните форму и опубликуйте одно и то же сообщение с действительным вложением один раз на стене пользователя и один раз с целевым идентификатором (для события) и посмотрите на разницу.Это поведение не задокументировано, а также Google не очень помогает.Любые обходные пути или объяснения приветствуются.

Вот демонстрационное приложение (работает на стене пользователя):

 {     
     "name": "Test name",     
     "href": "http://www.google.com",    
     "description": "Test Desc",     
     "media": [         
            {
                  "type": "image",             
                  "src": "(any image)", 
                  "href": "http://www.google.com"        
            }
              ]

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