2010-12-08 15 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'; 
     } 

結果:正しくリンクされたニュース( 'Hooray、ok')が、画像なし。 PNG/JPG/GIFの拡張子ではなく、PHPで生成されたイメージが原因である可能性がありますか? etag、accepted-ranges、last modifiedなどのヘッダを追加しました。何が間違っていますか?

'Something'が真で、print_rの添付ファイルの配列全体でチェックされます。

E:再び除去[0]

+0

それが原因である可能性があるかどうかを尋ねるのではなく、削除してください。そのイメージを静的ファイルのURLに置き換えて、変更があるかどうかを確認します。また、$ attachment ['media']は別の配列である単一の要素を含む配列であるはずですか? –

+0

通常の画像でチェックされています - 動作しません。はい、そうです。 $ attachment >> [0] << ['media']も追加されました。だから、今何が問題なの? – Misiur

+0

私は 'echo 'Damn';'が有益なエラー処理としての資格を持っているかどうかわかりません。 – jordanstephens

答えて

1

だけで画像を添付するには、あなたの添付ファイル内の画像キーを使用することができます。

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

OMG、それは魅力的です。あなたは、人生/時代遅れです – Misiur