2010-12-08 4 views
0

Я немного загрузил, но я не нашел ничего, что могло бы решить мою проблему.Facebook PHP image

Мне удалось опубликовать на странице в качестве страницы admin, ссылка добавлена ​​правильно, но изображение не прилагается. Мой код:

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'; 
     } 

Результат: Правильно размещены новости со ссылкой ('Ура, ок'), но без изображения. Может ли это быть вызвано PHP-образов, а не расширением png/jpg/gif? Я добавил некоторые дополнительные заголовки, такие как etag, принятые диапазоны, последние изменения и т. Д. Что я делаю неправильно (снова)?

«Что-то» - это правда, проверено с помощью массива attach_r для печати.

E: Опять удалены [0]

+0

Не спрашивайте, может ли это быть из-за этого, устраните его. Замените это изображение URL-адресом статического файла и посмотрите, не изменилось ли что-либо. Кроме того, предполагается, что $ attachment ['media'] является массивом, содержащим один элемент, который является другим массивом? – 2010-12-08 00:25:34

+0

Проверено обычным образом - тоже не работает. Да, это должно быть так. Также добавлено $ attachment >> [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' 
);