facebook - portada - Cómo obtener una foto de perfil de tamaño completo
tamaño portada facebook 2018 (7)
¿Hay alguna forma de obtener la imagen de perfil de tamaño completo con cualquier API de Facebook?
http://graph.facebook.com/ {ID} / picture? type = large es demasiado pequeño.
Gracias :)
Como se señaló anteriormente, parece que la foto de portada del álbum de perfil es una imagen de perfil de alta resolución. Sin embargo, verificaría el tipo de álbum del "perfil" en lugar del nombre, ya que el nombre puede no ser consistente en diferentes idiomas, pero el tipo debería ser.
Para reducir el número de solicitudes / análisis, puede usar esta función fql: "select cover_object_id from album donde type = ''profile'' and owner = user_id"
Y luego puedes construir la url de la imagen con: "https://graph.facebook.com/" + cover_object_id + "/ picture & type = normal & access_token =" + access_token
Parece que no hay un tipo "grande" para esta imagen, pero el "normal" sigue siendo bastante grande.
Como se señaló anteriormente, esta foto puede ser menos accesible que la imagen de perfil público. Necesitas el permiso user_photos o friend_photos para acceder a él.
Con Javascript puede obtener imágenes de perfil de tamaño completo como este
pase su accessToken
a la función getface()
desde su llamada FB.init
function getface(accessToken){
FB.api(''/me/friends'', function (response) {
for (id in response.data) {
var homie=response.data[id].id
FB.api(homie+''/albums?access_token=''+accessToken, function (aresponse) {
for (album in aresponse.data) {
if (aresponse.data[album].name == "Profile Pictures") {
FB.api(aresponse.data[album].id + "/photos", function(aresponse) {
console.log(aresponse.data[0].images[0].source);
});
}
}
});
}
});
}
Creo que utilizo el método más simple para obtener la imagen de perfil completa. Puede obtener una imagen de perfil completa o puede establecer la dimensión de la imagen de perfil usted mismo:
$facebook->api(me?fields=picture.width(800).height(800))
Puede establecer width
y height
según su necesidad. Aunque Facebook no devuelve el tamaño exacto solicitado, devuelve la imagen de dimensión más cercana disponible con ellos.
Encontró un camino:
$albums = $facebook->api(''/'' . $user_id . ''/albums'');
foreach($albums[''data''] as $album){
if ($album[''name''] == "Profile Pictures"){
$photos = $facebook->api(''/'' . $album[''id''] . ''/photos'');
$profile_pic = $photos[''data''][0][''source''];
break;
}
}
Establezca el ancho o alto en algún número arbitrariamente grande:
https://graph.facebook.com/username_or_id/picture?width=9999
Si el ancho y la altura son del mismo número, la foto se recorta en un cuadrado.
Las imágenes de perfil se reducen a 125x125 en el servidor de Facebook cuando se cargan, por lo que yo sé, no se pueden obtener imágenes más grandes que eso. ¿Qué tan grande es la imagen que estás recibiendo?
Puede usar herramientas de desarrollador como Firebug en Firefox. Haga clic derecho en la imagen e inspeccione el elemento con Firebug.
Obtendrá la URL desde donde Facebook recupera la imagen. Allí encontrarás alguna URL como esta
He puesto deliberadamente una ''x'' en el enlace por razones de privacidad.
Para ver la imagen en resolución completa, abra una nueva pestaña y abra esta url:
http://sphotos-e.ak.fbcdn.net/hphotos-ak-snc6/ "297962_1190xxxxx203889_104xxxxx723_n.jpg"
Como puede ver, he puesto el nombre de la imagen exacta después del ''/''
Elimine las comillas y abra el enlace. Obtendrás la imagen a tamaño completo.