Obtenir L'url de L'image de profil Google+ avec l'identifiant de l'utilisateur

je sais que beaucoup D'API de réseau social fournissent un moyen de construire une url à l'image de profil d'un utilisateur, en utilisant leur user_id ou username. Pour Facebook il ressemble à ceci:

http://graph.facebook.com/user_id/picture?type=square

y a-t-il quelque chose comme ça pour Google Plus? Ou n'importe quel autre moyen d'obtenir le pic de l'utilisateur sans un appel D'API??

82
demandé sur ArVan 2012-02-03 16:29:20

10 réponses

Google avait changé leur politique de sorte que l'ancienne façon d'obtenir L'image de profil Google ne fonctionnera pas maintenant, qui était

https://plus.google.com/s2/photos/profile / (user_id)?sz = 150

nouvelle façon de procéder:

Request URL

https://www.googleapis.com/plus/v1/people/115950284...320?fields=image&key={YOUR_API_KEY}

qui donnera l'url de L'image de profil Google dans le format json comme indiqué ci-dessous""

réponse:

{
    "image": 
    {
         "url": "https://lh3.googleusercontent.com/-OkM...AANA/ltpH4BFZ2as/photo.jpg?sz=50"
    }
}



plus de paramètres peuvent être trouvés pour envoyer avec URL que vous pourriez avoir besoin de ici

Pour plus de détails, vous pouvez également vérifier la question à laquelle j'ai répondu pour le même type de problème Comment obtenir l'image de L'utilisateur par l'intermédiaire du code d'identification dans Google plus?

Bon Codage!!

92
répondu Deepak Goswami 2017-05-23 12:34:37

mise à jour: la méthode ci-dessous ne fonctionne pas depuis 2015

il est possible d'obtenir l'image de profil, et vous pouvez même en définir la taille:

https://plus.google.com/s2/photos/profile/<user_id>?sz=<your_desired_size>

exemple: mon image de profil, avec une taille réglée à 100 pixels:

https://plus.google.com/s2/photos/profile/116018066779980863044?sz=100

utilisation avec une image tag:

<img src="https://plus.google.com/s2/photos/profile/116018066779980863044?sz=100" width="100" height="100">

J'espère que ça va marcher!

91
répondu Emil Stenström 2017-05-31 16:16:56

mise à jour: Google a arrêté le support de cette méthode, qui retourne maintenant une erreur 404 (non trouvé) .


toutes ces urls récupèrent l'image de profil d'un utilisateur:

https://www.google.com/s2/photos/profile/{user_id}
https://plus.google.com/s2/photos/profile/{user_id}
https://profiles.google.com/s2/photos/profile/{user_id}

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 le plus simple est d'utiliser directement Comme image source:

<img src="https://www.google.com/s2/photos/profile/{user_id}">

sinon pour obtenir exactement la même url D'un appel API Google vous pouvez lire les en-têtes d'image,

par exemple en PHP:

$headers = get_headers("https://www.google.com/s2/photos/profile/{user_id}", 1);
echo "<img src=$headers[Location]>";

comme décrit dans l'article Fetch Google Plus image de profil en utilisant PHP .

47
répondu Salvador 2014-03-23 16:27:45

approche 1: (ne fonctionne plus)

https://plus.google.com/s2/photos/profile/<user_id>?sz=<your_desired_size>

approche 2: (chaque demande compte dans les limites de taux de votre IPA qui est de 10k demandes par jour gratuitement)

https://www.googleapis.com/plus/v1/people/<user_id>?fields=image&key={YOUR_API_KEY}

avec le format de réponse suivant:

{ "image": { "url": "lh5.googleusercontent.com/-keLR5zGxWOg/.../photo.jpg?sz=50"; } }

Approche 3: (ne pas besoin de la clé api)

http://picasaweb.google.com/data/entry/api/user/<user_id>?alt=json

dans la réponse de json vous obtenez une propriété nommé "Gphoto $ thumbnail", qui contient l'url de l'image de profil comme suit:

http://lh6.ggpht.com/-btLsReiDeF0/AAAAAAAAAAI/AAAAAAAAAAA/GXBpycNk984/s64-c/filename.jpg

vous pouvez noter dans l'url la partie" s64-c "qui signifie la taille de l'image à 64, j'ai essayé d'utiliser d'autres valeurs comme" s100-C " et ils ont fonctionné. Aussi si vous supprimez la partie " s64-c "et ajoutez le"?sz=100" paramètre, qui fonctionne également à partir de maintenant. Bien que ce ne soit pas très bon moyen d'obtenir l'image de profil d'un utilisateur gplus, mais l'avantage est qu'il ne nécessite pas de clé api.

25
répondu Masum 2014-03-28 08:05:07

Google, Pas besoin d'API:

$data = file_get_contents('http://picasaweb.google.com/data/entry/api/user/<USER_ID>?alt=json');
$d = json_decode($data);
$avatar = $d->{'entry'}->{'gphoto$thumbnail'}->{'$t'};

/ / exemple de sortie: https://lh3.googleusercontent.com/-2N6fRg5OFbM/AAAAAAAAAAI/AAAAAAAAADE/2-RmpExH6iU/s64-c/photo.jpg

changement: le 64 dans "s64" pour la taille

10
répondu Shawn Rebelo 2014-04-03 20:07:30

Si vous voulez montrer la photo de profil de l'utilisateur actuellement connecté, vous n'avez même pas besoin de connaître l' {user_id}. Il suffit d'utiliser https://plus.google.com/s2/photos/profile/me .

5
répondu Danny Ruijters 2013-01-13 15:20:32

vous pouvez obtenir l'URL de l'image de profil en utilisant les personnes .obtenez la méthode de L'API Google+. Qui n'a besoin d'un aller-retour, mais est le moyen le plus fiable pour obtenir l'image.

vous pouvez techniquement aussi utiliser L'URL https://s2.googleusercontent.com/s2/photos/profile/{id}?sz={size} qui redirigera alors vers l'URL finale. {id} est le nom D'utilisateur de Google ou L'un des anciens noms D'utilisateur de Google Profiles (ils existent toujours pour les utilisateurs qui les avaient, mais je ne pense pas que vous pouvez créer de nouveaux ceux plus). {size} est la taille désirée de la photo en pixels. Je suis presque certain que c'est et non une fonctionnalité documentée et supportée, donc je ne compterais pas sur elle pour quelque chose d'important car elle peut disparaître à tout moment sans préavis. Mais pour des prototypes rapides ou de petites applications ponctuelles, cela peut être suffisant.

3
répondu Will Norris 2012-02-15 16:29:12

essayer d'accéder à l'url /S2/profile/photo fonctionne pour la plupart des utilisateurs, mais pas tous.

la seule méthode de preuve complète est D'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 assez simple:

  1. obtenez une clé API Google+ sur https://cloud.google.com/console

  2. Faire une simple requête GET: https://www.googleapis.com/plus/v1/people/+ < nom d'utilisateur >?clé=

Notez le + avant le nom d'utilisateur. Si vous utilisez des ID utilisateur à la place( la longue chaîne de chiffres), vous n'avez pas besoin du +

  1. vous obtiendrez une représentation JSON très complète des données de profil qui comprend: "image": {"url": " https://lh4.googleusercontent.com / ..... le reste de l'image URL...."}
2
répondu Erwan 2014-03-18 03:25:43

a tout essayé.. voici le dernier morceau de code de travail. J'espère que ça aidera quelqu'un qui le cherche.

    <?
$url='https://www.googleapis.com/plus/v1/people/116599978027440206136?fields=image%2Furl&key=MY_API_KEY&fields=image';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_PROXYPORT, 3128);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
$response = curl_exec($ch);
curl_close($ch);
$d = json_decode($response);
$avatar_url = $d->{'image'}->{'url'};
echo $avatar_url;
?>
0
répondu suraj jain 2015-06-15 11:18:59

réponse Simple: non

vous devrez interroger l'API de la personne et l'image prendre le profil .url données pour obtenir la photo. AFAIK il n'y a pas de format par défaut pour cette url qui contient l'userID.

-5
répondu Kolja 2012-02-03 12:36:10