API de Facebook: ¿Cómo obtengo la imagen de perfil de un usuario de Facebook a través de la API de Facebook (sin necesidad de que el usuario "Permita" la aplicación)?
Estoy trabajando en un CMS que recupera la imagen de perfil de un usuario desde su URL de Facebook (es decir, http://facebook.com/users_unique_url ). ¿Cómo puedo lograr esto? ¿Existe una llamada a la API de Faceboook que recupera la URL de la imagen de perfil de un usuario sin que el usuario necesite permitir la aplicación?
Simplemente obtenga los datos a través de esta URL :
http://graph.facebook.com/userid_here/picture
Reemplazaruserid_here
con la identificación del usuario del que desea obtener la foto. También puedes usar HTTPS.
Puede utilizar la file_get_contents
función de PHP para leer esa URL y procesar los datos recuperados.
Recurso:
http://developers.facebook.com/docs/api
Nota: En php.ini
, debe asegurarse de que la extensión OpenSSLfile_get_contents
esté habilitada para usar la función de PHP para leer esa URL.
Mostrar:
50x50 píxeles
<img src="//graph.facebook.com/{{fid}}/picture">
200 píxeles de ancho
<img src="//graph.facebook.com/{{fid}}/picture?type=large">
Para guardar (usando PHP)
NOTA: No utilices esto . Vea el comentario de @Foreever a continuación.
$img = file_get_contents('https://graph.facebook.com/'.$fid.'/picture?type=large');
$file = dirname(__file__).'/avatar/'.$fid.'.jpg';
file_put_contents($file, $img);
Donde $fid es su identificación de usuario en Facebook.
NOTA: En el caso de imágenes marcadas como "18+", necesitará un token de acceso válido de un usuario mayor de 18 años:
<img src="//graph.facebook.com/{{fid}}/picture?access_token={{access_token}}">
ACTUALIZACIÓN 2015:
Graph API v2.0 no se puede consultar mediante nombres de usuario, debe usarlo userId
siempre.