Je travaille sur un CMS qui récupère l'image de profil d'un utilisateur à partir de son URL Facebook (c'est-à-dire http://facebook.com/users_unique_url ). Comment puis-je accomplir cela? Existe-t-il un appel d'API Faceboook qui récupère l'URL de l'image de profil d'un utilisateur sans que l'utilisateur ait besoin d' autoriser l'application?
257
?type=large
chaîne de requête que vous pouvez ajouter. Accessoires pour trouver une réponse bien meilleure que le grattage d'écran que je tapais, BTW :).<img src="//graph.facebook.com/sarfraz.anees/picture" />
si vous changez entre HTTP et HTTPS ... le protocole est détecté par le navigateur et vous n'obtiendrez pas d'avertissements de contenu mixtes sur HTTPS.Montrer:
50x50 pixels
200 pixels de largeur
Pour enregistrer (en utilisant PHP)
REMARQUE: ne l'utilisez pas . Voir le commentaire de @ Foreever ci-dessous.
Où $ fid est votre identifiant sur Facebook.
REMARQUE: dans le cas d'images marquées "18+", vous aurez besoin d'un access_token valide d'un utilisateur 18+:
MISE À JOUR 2015:
Graphique v2.0 API ne peut être trouvée en utilisant les noms d' utilisateur, vous devez utiliser
userId
toujours.la source
MISE À JOUR :
Depuis fin août 2012, l'API a été mise à jour pour vous permettre de récupérer les photos de profil de l'utilisateur dans différentes tailles. Ajoutez les champs facultatifs de largeur et de hauteur en tant que paramètres d'URL:
où
WIDTH
etHEIGHT
sont vos valeurs de dimension demandées.Cela renverra une image de profil avec une taille minimale de
WIDTH
xHEIGHT
tout en essayant de conserver le rapport d'aspect. Par exemple,Retour
FIN DE LA MISE À JOUR
Pour obtenir la photo de profil d'un utilisateur, appelez
où
USER_ID
peut être le numéro d'identification de l'utilisateur ou le nom d'utilisateur.Pour obtenir une photo de profil utilisateur d'une taille spécifique, appelez
où
SIZE
doit être remplacé par l'un des motsselon la taille que vous souhaitez.
Cet appel renvoie une URL vers une seule image avec sa taille en fonction du paramètre de type choisi.
Par exemple:
renvoie une URL vers une petite version de l'image.
L'API spécifie uniquement la taille maximale des images de profil, pas la taille réelle.
Carré:
Petit
Ordinaire
Grand
Si vous appelez l'USER_ID / image par défaut, vous obtenez le type carré.
CLARIFICATION
Si vous appelez (selon l'exemple ci-dessus)
il renverra une réponse JSON si vous utilisez l'une des méthodes de demande des SDK Facebook . Sinon, il renverra l'image elle-même. Pour toujours récupérer le JSON, ajoutez:
ainsi:
la source
&redirect=false
pour renvoyer les données JSON au lieu de rediriger vers l'imagePour obtenir l'URL de l'image, PAS le contenu binaire:
Vous devez utiliser votre ID FACEBOOK, PAS LE NOM D'UTILISATEUR. Vous pouvez y obtenir votre identifiant facebook:
http://findmyfbid.com/
la source
Code simple d'une ligne pour enregistrer l'image de profil de taille complète sur votre serveur.
Cela ne fonctionnera que si openssl est activé dans php.ini.
la source
A ajouté cela comme un commentaire à la réponse acceptée, mais a estimé qu'il méritait une explication plus longue. À partir d'avril 2015, cela sera probablement soulevé plusieurs fois.
Depuis la V2 de l'API du graphique, la réponse acceptée ne fonctionne plus en utilisant un nom d'utilisateur. Alors maintenant, vous avez d'abord besoin de l'ID utilisateur et vous ne pouvez plus utiliser de nom d'utilisateur pour l'obtenir. Pour compliquer encore les choses, pour des raisons de confidentialité, Facebook modifie désormais l'ID utilisateur par application (voir https://developers.facebook.com/docs/graph-api/reference/v2.2/user/ et https: //developers.facebook .com / docs / apps / upgrade / # upgradeing_v2_0_user_ids ), vous devrez donc avoir une sorte d'authentification appropriée pour récupérer un ID utilisateur que vous pouvez utiliser. Techniquement, la photo de profil est toujours publique et disponible sur / userid / picture (voir les documents sur https://developers.facebook.com/docs/graph-api/reference/v2.0/user/picture et cet exemple d'utilisateur: http: //graph.facebook.com/v2.2/4/picture?redirect=0), mais il semble impossible de déterminer l'ID utilisateur standard d'un utilisateur uniquement en fonction de son profil - votre application devrait les amener à approuver l'interaction avec l'application qui pour mon cas d'utilisation (montrant simplement une photo de profil à côté de leur lien de profil FB) est exagérée.
Si quelqu'un a trouvé un moyen d'obtenir la photo de profil en fonction du nom d'utilisateur, ou alternativement, comment obtenir un ID utilisateur (même alternatif) à utiliser pour récupérer une photo de profil, veuillez partager! En attendant, l'ancienne URL du graphique fonctionne toujours jusqu'en avril 2015.
la source
Une façon consiste à utiliser le code Gamlet affiché dans sa réponse:
Enregistrez-le sous
curl.php
Puis dans votre dossier:
Je pensais que je publierais ceci, car cela m'a pris un peu de temps pour comprendre les détails ... Même si les photos de profil sont publiques, vous devez toujours avoir un jeton d'accès pour l'obtenir lorsque vous le recourbez .
la source
Il y a moyen de le faire;)
Merci à " http://it.toolbox.com/wiki/index.php/Use_curl_from_PHP_-_processing_response_headers ":
la source
Solution PHP (HTTP GET) fonctionnelle à partir d'avril 2015 (sans PHP 5 SDK):
Vous pouvez changer le «type» dans parametr:
Carré:
Petit
Ordinaire
Grand
la source
Je pensais - peut-être que l' ID sera un outil utile. Chaque fois qu'un utilisateur crée un nouveau compte, il doit obtenir un ID plus élevé. J'ai recherché sur Google et trouvé qu'il existe une méthode pour estimer la date de création du compte par ID et Massoud Seifi de metadatascience.com a recueilli de bonnes données à ce sujet.
Lisez cet article:
http://metadatascience.com/2013/03/11/inferring-facebook-account-creation-date-from-facebook-user-id/
Et voici quelques identifiants à télécharger:
http://metadatascience.com/2013/03/14/lookup-table-for-inferring-facebook-account-creation-date-from-facebook-user-id/
la source
Le billet de blog Grab the Picture of a Facebook Graph Object pourrait offrir une autre forme de solution. Utilisez le code du didacticiel avec l' API Graph de Facebook et sa bibliothèque PHP SDK.
... Et essayez de ne pas utiliser file_get_contents (sauf si vous êtes prêt à faire face aux conséquences - voir file_get_contents vs curl ).
la source
Êtes-vous préoccupé par la taille de l'image de profil? au moment de l'implémentation de la connexion avec Facebook en utilisant PHP. Nous allons vous montrer le moyen simple d'obtenir une photo de profil de grande taille dans le SDK PHP de Facebook. En outre, vous pouvez obtenir l'image de taille personnalisée du profil Facebook.
Définissez la dimension de l'image de profil à l'aide de la ligne de code suivante.
$ userProfile = $ facebook-> api ('/ me? fields = picture.width (400) .height (400)');
consultez cet article: http: //www.codexworld.com/how-to-guides/get-large-size-profile-picture-in-facebook-php-sdk/
la source
@NaturalBornCamper,
Beau code! Voici une fonction de code épurée pour un tel processus!
Cela renverra l' URL de l'image d'avatar Facebook brute . N'hésitez pas à en faire ce que vous voulez!
la source
Vous pouvez obtenir l'URI du profil via l' outil de recherche d'identifiants facebook en ligne
Vous pouvez également passer le type param avec les valeurs possibles small, normal, large, square.
Reportez-vous à la documentation officielle
la source