Graph API new feed post object-Attachment not showing
I am assuming user gave the permission for user_photos / friends_photos. Since you have the photo_id, you may try this.
$pic = $facebook->api("/PHOTO_ID");$pic_url = $pic->source;$attachment = array( 'access_token' => USER_ACCESS_TOKEN, 'message' => "...", 'caption' => "...", 'name' => "...", 'description' => "...", 'link' => URL, 'picture' => $pic_url);
ADDED
You need to store the image some where locally ,in a local server . due to this article
I think the 'object_attachment'=>$photo_id
won't work any more.You should change it to 'picture'=>$photo_url
$photo_Url = "link to your photo";//Valid Facebook Photo ID... $facebook = new Facebook($config);$attachment = array( 'access_token' => $user_token, 'message' => "Test Message", 'caption' => "THis is a Caption", 'name' => "Test Name", 'description' => "This is a description", 'link' => 'http://url.com/', 'picture' => $photo_Url,);$response = $facebook->api("/".$userID."/feed/", 'POST', $attachment);
You can find more Here
you have to permission pubish_stream on your app and then try this using curl:-
$attachment = array( 'access_token' => $access_token, 'message' => 'i m success to using graph api for post wall', 'name' => 'Wall Post using graph api', 'link' => 'www.mysite.com', 'description' => 'Using the Graph API, any Facebook users Wall feed may be accessed by using this URL:', 'picture'=>'http://example.com/images/noimage.png' );$url = "https://graph.facebook.com/$facebook_id/feed";$ch = curl_init();curl_setopt($ch, CURLOPT_URL,$url);curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);curl_setopt($ch, CURLOPT_POST, true);curl_setopt($ch, CURLOPT_POSTFIELDS, $attachment);curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); //to suppress the curl output$result = curl_exec($ch);curl_close ($ch);print_r($result)