2012-07-11 35 views
89

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.Obtener foto de perfil de usuario por Id

Gracias de antemano

+0

Posible duplicado de [Facebook API - Cómo obtengo la imagen de perfil de un usuario de Facebook a través de la API de Facebook (sin requerir que el usuario "Permita" la aplicación)] (http://stackoverflow.com/questions/2821061/facebook -api-how-do-i-get-a-facebook-users-profile-image-through-the-facebook) –

Respuesta

225

http://graph.facebook.com/ "+ facebookId +"/foto type = square Por ejemplo:? http://graph.facebook.com/67563683055/picture?type=square

También hay más tamaños, además de "cuadrado". Ver the docs.

+27

Para cualquiera que desee el enlace a los documentos: https://developers.facebook.com/docs/graph -api/reference/user/picture/ –

+15

Es mejor mirar los documentos porque también tienen todas las otras opciones. Por ejemplo, si desea una imagen grande y cuadrada (dado que el cuadrado predeterminado es pequeño), debe usar 'https://graph.facebook.com/ {facebookId}/picture? Type = large & width = 720 & height = 720'. – sudo

+0

¿hay alguna forma de consultar el URL de la imagen y no la imagen en sí? Quisiera cargar la imagen en el front-end, no a través del servidor si es posible –

11

Esto es literalmente en la página frontal de Graph API documentation.

  • /OBJECT_ID/picture devuelve una redirección a la imagen del objeto (en este caso los usuarios)
  • /OBJECT_ID/?fields=picture devuelve la dirección URL de la imagen

Ejemplos:

<img src="https://graph.facebook.com/4/picture"/> utiliza un HTTP 301 redirección al perfil de Zuck foto

https://graph.facebook.com/4?fields=picture devuelve la propia URL

+1

Desafortunadamente, ya no está en la página de inicio de los documentos de Graph API, ahora está aquí: https://developers.facebook.com/docs/graph-api/using-graph-api – Igy

+2

* NO *, no está en la página principal de la documentación Graph API. Será mejor que evites las declaraciones de restricción de tiempo en SO. Ya sabes ... las cosas cambian bastante rápido esos días ... –

+0

e irónicamente tu respuesta es mucho más útil con información más relevante que la página de la API gráfica de todos modos :-) –

2

Usar url como: https: //graph.facebook.com/ user_id/picture? Type = square in src of img tag. tipo puede ser pequeño, grande.

97

Puede usar las siguientes direcciones URL para obtener diferentes tamaños de imágenes de perfil. Asegúrese de agregar la identificación de Facebook a la url.

grande tamaño de la foto https://graph.facebook.com/ {facebookId}/Picture? Type = gran

tamaño mediano foto https://graph.facebook.com/ {facebookId}/Picture? Type = normal

pequeño tamaño de la foto https://graph.facebook.com/ {facebookId}/picture? Type = small

foto Plaza https://graph.facebook.com/ {facebookId}/foto? Type = square

+4

+1 por mencionar todos los tamaños – Manwal

+1

Así fue como pude descubro mi propia ID de Facebook: https://developers.facebook.com/tools/explorer/?method=GET&path=me%3Ffields%3Did%2Cname&version=v2.5 – Ryan

27

Para obtener mayor tamaño de la imagen

https://graph.facebook.com/{userID}?fields=picture.width(720).height(720) 

o cualquier otra cosa que necesita como el tamaño. Según la experiencia, tipo = grande no es el resultado más grande que puede obtener.

+0

también puede pasar: https://graph.facebook.com /{userID}?fields=picture.type(large) esto es útil cuando tienes algo como esto, String url = "https://graph.facebook.com/me?fields=id,name,email, picture.type (large) como se menciona en otras respuestas puede reemplazar grande con normal, pequeño, cuadrado ... – yajnesh

3

Aquí, esta API que permite a obtener fotos de perfil de fb, google, twitter fácilmente https://www.avatars.io/

+1

¡Eso es realmente fantástico! Solo porque a SO le gustan los enlaces para describirlos con más detalle; es una API que devuelve la imagen del perfil cuando se le da un nombre de usuario para una variedad de redes sociales, incluyendo Twitter, Facebook, Instagram y Gravatar. Tiene bibliotecas para iOS, Android, Ruby, Node, PHP, Python y JavaScript. Una pieza excepcional de software. Se puede encontrar [en GitHub] (https://github.com/chute/avatars-io). –

+0

Si bien este enlace puede responder a la pregunta, es mejor incluir las partes esenciales de la respuesta aquí y proporcionar el enlace de referencia.Las respuestas de solo enlace pueden dejar de ser válidas si la página vinculada cambia. - [De la crítica] (/ review/low-quality-posts/18928693) –

0

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 query.Note: Se puede utilizar otra biblioteca también.

Cuestiones relacionadas