Je sais que de nombreuses API de réseaux sociaux permettent de créer une URL vers la photo de profil d'un utilisateur, en utilisant son user_id ou son nom d'utilisateur. Pour Facebook, cela ressemble à ceci:
http://graph.facebook.com/user_id/picture?type=square
Y a-t-il maintenant quelque chose comme ça pour Google Plus? Ou tout autre moyen d'obtenir la photo de l'utilisateur sans appel API ??
google-api
google-plus
ArVan
la source
la source
Réponses:
Google a modifié sa politique de sorte que l'ancienne méthode d'obtention de l'image de profil Google ne fonctionne plus maintenant, à savoir
https://plus.google.com/s2/photos/profile/(user_id)?sz=150
Une nouvelle façon de faire est
URL de la demande
Cela donnera l'URL de l'image de profil Google au format json comme indiqué ci-dessous
Réponse:
Vous pouvez trouver plus de paramètres à envoyer avec l'URL dont vous pourriez avoir besoin à partir d' ici
Pour plus de détails, vous pouvez également vérifier la question donnée à laquelle j'ai répondu pour le même type de problème Comment obtenir l'image de l'utilisateur via l'identifiant de l'utilisateur dans Google plus?
Bon codage !!
la source
<img>
tag.../-OkM...AANA/ltpH...as/photo.jpg?sz=512
MISE À JOUR: La méthode ci-dessous NE FONCTIONNE PAS depuis 2015
Il est possible d'obtenir la photo de profil, et vous pouvez même en définir la taille:
Exemple: Ma photo de profil, avec une taille de 100 pixels:
Utilisation avec une balise d'image:
J'espère que vous le faites fonctionner!
la source
MISE À JOUR: Google a arrêté la prise en charge de cette méthode, qui renvoie désormais une erreur 404 (introuvable) .
Toutes ces URL récupèrent la photo de profil d'un utilisateur:
Ils redirigent vers la même URL d'image que vous obtenez de l'API Google, un lien laid comme
lh6.googleusercontent.com/-x1W2-XNKA-A/AAAAAAAAAAI/AAAAAAAAAAA/ooSNulbLz8U/photo.jpg
Le plus simple est d'utiliser directement comme source d'image:
Sinon, pour obtenir exactement la même URL d'un appel d'API Google, vous pouvez lire les en-têtes d'image,
par exemple en PHP:
comme décrit dans l'article Récupérer l'image de profil Google Plus à l'aide de PHP .
la source
Approche 1: (ne fonctionne plus)
Approche 2: (chaque demande compte dans vos limites de taux API, soit 10k demandes par jour gratuitement)
avec le format de réponse suivant:
Approche 3: (ne nécessite pas de clé API)
dans la réponse json, vous obtenez une propriété nommée "gphoto $ miniature", qui contient l'URL de l'image de profil comme suit:
Vous remarquerez peut-être dans l'URL la partie "s64-c" qui signifie que la taille de l'image est de 64, j'ai essayé d'utiliser d'autres valeurs comme "s100-c" et elles ont fonctionné. Aussi, si vous supprimez la partie "s64-c" et ajoutez le paramètre "? Sz = 100", cela fonctionnera également à partir de maintenant. Bien que ce ne soit pas un très bon moyen d'obtenir l'image de profil d'un utilisateur gplus, mais l'avantage est qu'il ne nécessite aucune clé api.
la source
Google, aucune API nécessaire:
// Exemple de sorties: https://lh3.googleusercontent.com/-2N6fRg5OFbM/AAAAAAAAAAI/AAAAAAAAADE/2-RmpExH6iU/s64-c/photo.jpg
CHANGEMENT: le 64 en "s64" pour la taille
la source
Si vous souhaitez afficher la photo de profil de l'utilisateur actuellement connecté, vous n'avez même pas besoin de connaître l '{user_id}. La simple utilisation
https://plus.google.com/s2/photos/profile/me
suffira.la source
Vous pouvez obtenir l'URL de l'image de profil à l'aide de la méthode people.get de l'API Google+. Cela nécessite un aller-retour supplémentaire, mais c'est le moyen le plus fiable d'obtenir l'image.
Vous pouvez également techniquement utiliser l'URL
https://s2.googleusercontent.com/s2/photos/profile/{id}?sz={size}
qui redirigera ensuite vers l'URL finale.{id}
est l'ID utilisateur Google ou l'un des anciens noms d'utilisateur des profils Google (ils existent toujours pour les utilisateurs qui les avaient, mais je ne pense pas que vous puissiez en créer de nouveaux).{size}
est la taille souhaitée de la photo en pixels. Je suis presque certain que ce n'est pas une fonctionnalité documentée et prise en charge, donc je ne compterais pas dessus pour quoi que ce soit d'important car elle pourrait disparaître à tout moment sans préavis. Mais pour les prototypes rapides ou les petites applications ponctuelles, cela peut être suffisant.la source
essayer d'accéder à l'URL / s2 / profile / photo fonctionne pour la plupart des utilisateurs mais pas pour tous.
La seule méthode de preuve complète consiste à utiliser l'API Google+. Vous n'avez pas besoin d'authentification utilisateur pour demander des données de profil public, c'est donc une méthode plutôt simple:
Obtenez une clé API Google+ sur https://cloud.google.com/console
Faites une simple demande GET à: https://www.googleapis.com/plus/v1/people/+ <nom d'utilisateur>? Key =
Notez le + avant le nom d'utilisateur. Si vous utilisez des identifiants utilisateur à la place (la longue chaîne de chiffres), vous n'avez pas besoin du +
la source
Si vous utilisez Flutter, vous pouvez y accéder via le
people.googleapis.com
point de terminaison, le code utilise lagoogle_sign_in
bibliothèqueVous obtiendrez quelque chose comme
où
url
est une URL d'image accessible.la source
Les API Google+ héritées ont été fermées le 7 mars 2019. Des modifications du plan d'arrêt ont été apportées récemment, ce qui peut atténuer son effet sur certains développeurs.
la source
J'ai tout essayé. Voici le dernier morceau de code de travail. J'espère que cela aide quelqu'un qui le cherche.
la source
Réponse simple: non
Vous devrez interroger l'API de la personne et prendre les données de profil image.url pour obtenir la photo. AFAIK il n'y a pas de format par défaut pour cette URL qui contient l'ID utilisateur.
la source