2010-12-08 65 views
0

我说了一点,但我没有找到任何可以解决我的问题。Facebook的PHP图像

我已经成功在页面上张贴页面管理员,链接添加正确,但图像未附加。我的代码:

Blahblah authentication, etc. 

     $attachment = array(
      'message' => 'text', 
      'name' => 'Name', 
      'link' => 'http://somelink.com', 
      'description' => '', 
      'access_token' => $ACCESS_TOKEN 
     ); 

     if(something) $attachment['media'] = array(array('type'=>'image', 'src'=>'http://'.$_SERVER['HTTP_HOST']."/media/file/image_by_id/".$data['thumb_file_tree_id'].'/?w=400&h=500', 'href'=>'http://somelink.com')); 


     try { 
      if($facebook->api('/XXX/feed', 'post', $attachment)) 
      { 
       echo 'Hooray, ok'; 
      } 
     } catch (FacebookApiException $e) { 
      echo 'Damn'; 
     } 

结果:与链接是否正确地发布消息( '万岁,OK'),但没有图像。它可能是由于PHP生成的图像,而不是png/jpg/gif扩展名?我添加了一些额外的标题,如etag,可接受的范围,最后修改等。我做了什么错误(再次)?

'Something'为true,用print_r整个附件数组检查。

E:再次删除[0]

+0

而不是问是否可以因此而消除它。将该图片替换为静态文件的网址,然后查看是否有任何更改。此外,$ attachment ['media']应该是一个包含另一个数组的单个元素的数组? – 2010-12-08 00:25:34

+0

检查正常图像 - 也不起作用。是的,它必须是这样的。还添加了$附件>> [0] << ['media']。那么,现在有什么问题? – Misiur 2010-12-08 00:36:44

回答

1

要他们只是在一个图像,你可以用你的附件图片关键。

$attachment = array(
      'message' => 'text', 
      'name' => 'Name', 
      'link' => 'http://somelink.com', 
      'description' => '', 
      'access_token' => $ACCESS_TOKEN, 
      'picture' => 'http://example.com/example.jpg' 
);