在事件的墙上发布带有图片和链接的帖子

时间:2011-09-25 14:51:07

标签: php facebook-graph-api facebook-wall facebook-events facebook-rest-api

有没有办法在活动的墙上发布带有图片和链接的帖子?目前我只能发布状态(消息)。在用户的墙上没有这样的问题。我已经尝试了新的Graph API以及旧的REST API('stream.publish'方法)但没有成功(使用PHP SDK)。 提前谢谢。

我用于图谱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);

正如我上面提到的,如果我在用户的墙上发布,两者都有效。在事件的墙上发布状态消息,仅显示“消息”参数的内容。

1 个答案:

答案 0 :(得分:0)

我有同样的问题。事件墙帖仅显示为短信,无法通过任何API向活动墙发布“链接”或“帖子”。 同一帖子在用户墙或活动墙上的显示方式不同。 可以在此处测试该行为: http://developers.facebook.com/docs/reference/rest/stream.publish/ 只需填写表单并将相同的消息与有效附件一次发布到用户墙,并使用目标ID(对于事件)发布一次并查看差异。 这种行为没有记录,谷歌也没有提供太多帮助。 任何变通办法或解释都将不胜感激。

这是一个演示附件(在用户墙上工作):

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

 }