Graph API new feed post object-Archivo adjunto que no se muestra

Tengo un problema extraño con la API de gráficos, el código que se muestra a continuación me sirve para agregar una publicación a las noticias de los usuarios con una miniatura de la foto adjunta (al que se hace referencia en el parámetro ‘object_attachement’).

Sin embargo, ahora la publicación se crea como se esperaba, pero la miniatura está vacía. El photo_id que estoy usando existe en la colección de fotos del usuario.

Resultados del código a continuación ahora.

$photo_ID = "3415678920211";//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/', 'object_attachment' => $photo_id, ); $response = $facebook->api("/".$userID."/feed/", 'POST', $attachment); 

¿Estoy haciendo algo mal? Estoy seguro de que esto solía funcionar y me pregunto si algo cambió en la API debajo de mí.

[Actualización] Noté que esto parece suceder cuando especifico tanto el enlace como el atributo_objeto en el mismo POST. Si elimino el parámetro de enlace de arriba, recibo una actualización ligeramente mejor, pero esto no es muy bueno ya que la razón principal por la que quiero que exista esta publicación es por la adición del enlace.

Supongo que el usuario dio permiso para user_photos / friends_photos. Como tienes el photo_id, puedes probar esto.

 $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 ); 

ADICIONAL

Necesita almacenar la imagen en algún lugar localmente, en un servidor local. debido a este artículo

Creo que el 'object_attachment'=>$photo_id ya no funcionará. Deberías cambiarlo a '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); 

Puedes encontrar más aquí

tienes que permitir el lanzamiento de pubish en tu aplicación y luego probar usando curl: –

 $attachment = array( 'access_token' => $access_token, 'message' => 'im 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) 

Estás publicando en el feed. Debería publicar en el LINK en su lugar.

Publique el enlace a la imagen en la fuente del enlace, y debería estar bien.

https://developers.facebook.com/docs/reference/api/link/

Voy a publicar un ejemplo en un tic.

—- Luego —-

Hmmmm, bueno, la opción de enlace no es satisfactoria. Usted obtiene una miniatura de la imagen, y puede hacer clic para ver la imagen en su totalidad, pero es muy fea. Realmente no creo que eso es lo que buscas.

Así que hice algunos experimentos más y seguí encontrando el error CDN que mencionaste. Así que busqué en Google y encontré lo siguiente:

Sirviendo imágenes en Stream Stories 18 de junio de 2010 3:21 p. M.

Ya no permitimos que las historias de transmisión contengan imágenes alojadas en el dominio fbcdn.net. Las imágenes asociadas a estas URL no siempre están optimizadas para las historias de transmisión y ocasionalmente producen errores, lo que genera una experiencia de usuario deficiente. Asegúrese de que los archivos adjuntos de su secuencia no hagan referencia a imágenes con este dominio. Debe alojar las imágenes localmente.

Entonces ahí lo tiene, según Facebook, ya no puede hacer lo que quiere hacer.