Obtenir l'URL de l'image de profil Facebook réelle
Selon Facebook API graphique nous pouvons demander à un utilisateur de photo de profil avec ceci (exemple):
https://graph.facebook.com/1489686594/picture
Nous n'avons pas besoin de Jeton puisque c'est une information publique.
Mais la véritable URL de l'image de la précédente lien est: http://profile.ak.fbcdn.net/hprofile-ak-snc4/hs356.snc4/41721_1489686594_527_q.jpg
Si vous tapez le premier lien sur votre navigateur, il vous redirigera vers le deuxième lien.
Est-il possible d'obtenir l'adresse URL complète (deuxième lien) avec PHP, connaissant seulement le premier lien?
J'ai une fonction qui récupère l'image à partir d'une URL, de le stocker dans la base de données, mais il ne fonctionne que si elle obtenir l'URL complète de l'image.
Grâce
source d'informationauteur kire
Vous devez vous connecter pour publier un commentaire.
kire est droite, mais la meilleure solution pour votre cas d'utilisation serait la suivante:
Vous pouvez l'obtenir avec FQL:
retourne:
Vous pouvez aussi simplement améliorer votre fonction qui récupère l'image à partir d'une url. Si vous utilisez curl il peut suivre automatiquement rediriger les en-têtes.
Veuillez noter que le Surrican réponse (et probablement d'autres) peuvent augmenter considérablement votre script est temps de réponse (autour de +de 500 ms pour moi sur mon serveur). C'est parce que le serveur envoie une demande à facebook (en raison de
get_headers()
) et le temps d'exécution (calcul exclus) s'étend à partir de ce::
Cela ajoute mentionné 500ms retard. Vous devriez probablement envisager de mettre en cache la véritable url de votre serveur ou de charger la photo de profil via JavaScript. Au moins prendre un coup d'oeil à votre temps de réponse avant et après 😉
@La Surrican,
Bon code! Voici une coupe propre code de la fonction pour un tel processus!
Ce sera le retour de la CRUE facebook avatar URL de l'image. N'hésitez pas à faire ce que vous voulez avec elle alors!
Vous pouvez également ajouter
?redirect=false
à la fin de votre URL et ensuite d'analyser la réponse JSON directement.Dans votre exemple:
https://graph.facebook.com/1489686594/picture?redirect=false
Plus d'informations ici https://developers.facebook.com/docs/graph-api/reference/user/picture/