obtener - api facebook php ejemplos
Obtener la imagen de perfil de usuario por Id (9)
Ahora estoy trabajando en una aplicación web que se basa principalmente en facebook graph api. Tengo algunos datos sobre los usuarios, en realidad, los posibles datos públicos disponibles, como el nombre y el id. También sé que una imagen de perfil es parte de los datos públicos, y me preguntaba cómo podría obtener un enlace directo a una imagen de perfil de un usuario solo mediante el uso de su identificación.
Gracias por adelantado
A través del JavaScript SDK (v2.12 - abril, 2017) puede obtener los detalles de la solicitud de imagen de esta manera:
FB.api("/" + uid + "/picture?redirect=0", function (response) {
console.log(response);
// prints the following:
//data: {
// height: 50
// is_silhouette: false
// url: "https://lookaside.facebook.com/platform/profilepic/?asid=…&height=50&width=50&ext=…&hash…"
// width: 50
//}
if (response && !response.error) {
// change the src attribute of img elements
[...document.getElementsByClassName(''fb-user-img'')].forEach(
i => i.src = response.data.url
);
// OR redirect to the URL above
location.assign(response.data.url);
}
});
Para obtener la respuesta JSON, el parámetro redirect
con 0 (cero) como valor es importante ya que la solicitud redirige a la imagen de manera predeterminada. Aún puede agregar otros parámetros en la misma URL. Ejemplos:
-
"/" + uid + "/picture?redirect=0&width=100&height=100"
: se devolverá una imagen de 100x100; -
"/" + uid + "/picture?redirect=0&type=large"
: se devuelve una imagen de 200x200. Otros posibles valores de tipo incluyen: pequeño , normal , álbum y cuadrado .
Aquí, esta aplicación te permite obtener fotos de perfil de fb, google, twitter fácilmente https://www.avatars.io/
Esto está literalmente en la página frontal de la developers.facebook.com/docs/graph-api/reference/user/picture .
-
/OBJECT_ID/picture
devuelve un redireccionamiento a la imagen del objeto (en este caso los usuarios) -
/OBJECT_ID/?fields=picture
devuelve la URL de la imagen
Ejemplos:
<img src="https://graph.facebook.com/4/picture"/>
utiliza un redireccionamiento HTTP 301 a la imagen de perfil de Zuck
https://graph.facebook.com/4?fields=picture
devuelve la URL en sí
Para obtener el tamaño más grande de la imagen
https://graph.facebook.com/{userID}?fields=picture.width(720).height(720)
o cualquier otra cosa que necesite como tamaño. Según la experiencia, tipo = grande no es el resultado más grande que puede obtener.
Puede usar AngularJs para esto. Su función de enlace de datos bidireccional obtendrá la solución con el mínimo esfuerzo y menos código.
<div> <input type="text" name="" ng-model="fbid"><br/> <img src="https://graph.facebook.com/{{fbid}}/picture?type=normal"> </div>
Espero que esto responda a su consulta. Nota: También puede usar otra biblioteca.
Puede usar las siguientes URL para obtener diferentes tamaños de imágenes de perfil. Por favor, asegúrese de agregar ID de Facebook a la url.
Foto de gran tamaño https://graph.facebook.com/ {facebookId} / picture? Type = large
Foto de tamaño mediano https://graph.facebook.com/ {facebookId} / picture? Type = normal
Foto de tamaño pequeño https://graph.facebook.com/ {facebookId} / picture? Type = small
Foto cuadrada https://graph.facebook.com/ {facebookId} / picture? Type = square
Use url como: https: //graph.facebook.com/ user_id / picture? Type = square en src of img tag. tipo puede ser pequeño, grande.
http://graph.facebook.com/ "+ facebookId +" / picture? type = square Por ejemplo: http://graph.facebook.com/67563683055/picture?type=square
También hay más tamaños además de "cuadrado". Ver los documentos .