ven subir puedo porque mostrar mis fotos estados español ejemplos consumir borrosos album facebook api facebook-graph-api opengraph

subir - Problemas al cargar una foto en un álbum por Facebook API-PHP



porque mis estados de whatsapp se ven borrosos (2)

Tengo problemas para subir una foto a un álbum con la facebook API . este es mi código

$facebook->setFileUploadSupport(true); //Create an album $album_details = array( ''message''=> ''Message'', ''name''=> ''Album Name'' ); $create_album = $facebook->api(''/me/albums?access_token=''.$access_token, ''post'', $album_details); //Get album ID of the album you''ve just created $album_id = $create_album[''id'']; echo $album_id." - "; //Upload a photo to album of ID... $photo_details = array(); $img = "app.jpg"; $photo_details[''source''] = ''@'' . $img; $photo_details[''message''] = ''Wow.. cool image!''; $upload_photo = $facebook->api(''/''.$album_id.''/photos?access_token=''.$access_token, ''post'', $photo_details);

¡Cuando subo la imagen con un formulario, funciona! pero este código no carga la imagen en el álbum. Lo he intentado también con CURL pero no hay nada ... no sé dónde está el problema ...


$user = $this->facebook->getUser(); $this->facebook->setFileUploadSupport(true); $user_profile = $this->facebook->api(''/me''); $album_details = array( ''message'' => ''Hello everybody this is me '' . $user_profile[''name''], ''name'' => ''I am so slim because I dont have money to eat....:('' ); $create_album = $this->facebook->api(''/me/albums'', ''post'', $album_details); // Upload a picture $photo_details = array( ''message'' => ''I am so slim because I dont have money to eat....:('' ); $photo_details[''image''] = ''@'' . realpath(''./a.jpg''); $upload_photo = $this->facebook->api(''/'' . $create_album[''id''] . ''/photos'', ''post'', $photo_details);

Usa $ facebook en $ this-> facebook


Después de probar algunas cosas en Graph API Explorer, aquí hay una versión PHP en funcionamiento:

<?php # Path to facebook''s PHP SDK. require_once("facebook.php"); # Facebook application config. $config = array( ''appId'' => ''YOUR_APP_ID'', ''secret'' => ''YOUR_APP_SECRET'', ''fileUpload'' => true # Optional and can be set later as well (Using setFileUploadSupport() method). ); # Create a new facebook object. $facebook = new Facebook($config); # Current user ID. $user_id = $facebook->getUser(); # Check to see if we have user ID. if($user_id) { # If we have a user ID, it probably means we have a logged in user. # If not, we''ll get an exception, which we handle below. try { # Get the current user access token: $access_token = $facebook->getAccessToken(); # Create an album: $album_details = array( ''access_token'' => $access_token, ''name'' => ''Album Name'', ''message'' => ''Your album message goes here'', ); $create_album = $facebook->api(''/me/albums'', ''POST'', $album_details); # Get album ID of the album you''ve just created: $album_id = $create_album[''id'']; # Output album ID: echo ''Album ID: '' . $album_id; # Upload photo to the album we''ve created above: $image_absolute_url = ''http://domain.com/image.jpg''; $photo_details = array(); $photo_details[''access_token''] = $access_token; $photo_details[''url''] = $image_absolute_url; # Use this to upload image using an Absolute URL. $photo_details[''message''] = ''Your picture message/caption goes here''; //$image_relative_url = ''my_image.jpg''; //$photo_details[''source''] = ''@'' . realpath($image_relative_url); # Use this to upload image from using a Relative URL. (Currently commented out). $upload_photo = $facebook->api(''/'' . $album_id . ''/photos'', ''POST'', $photo_details); # Output photo ID: echo ''<br>Photo ID: '' . $upload_photo[''id'']; } catch(FacebookApiException $e) { // If the user is logged out, you can have a // user ID even though the access token is invalid. // In this case, we''ll get an exception, so we''ll // just ask the user to login again here. $login_url = $facebook->getLoginUrl( array(''scope'' => ''publish_stream, user_photos'')); echo ''Please <a href="'' . $login_url . ''">login.</a>''; error_log($e->getType()); error_log($e->getMessage()); } } else { # No user, print a link for the user to login and give the required permissions to perform tasks. $params = array( ''scope'' => ''publish_stream, user_photos'', # These permissions are required in order to upload image to user''s profile. ); $login_url = $facebook->getLoginUrl($params); echo ''Please <a href="'' . $login_url . ''">login.</a>''; } ?>

He agregado comentarios para que pueda entender lo que hace al leer el código.

Esto funciona tanto con la url absoluta como con la url relativa, he comentado el código para cargar la imagen usando la URL relativa, ya que has mencionado en tus comentarios que no puedes leer la ruta real de la imagen.

EDITAR: Nota: El usuario debe otorgar permisos extendidos a su aplicación de Facebook para subir imágenes a su perfil. Esos permisos son publish_stream y user_photos .

Déjame saber si esto te ayudó y si funciona :)