2012-12-24 2 views
9

Ich versuche, JSON-Daten von der Google+ API abzurufen. Wenn ich die Bildattributgröße des Bildes einschließe, wird 50px eingestellt. Wie ändere ich die Bildgröße? Ich sehe es nicht in den Dokumenten. https://developers.google.com/+/api/latest/people/getAbrufen des Profilbilds von der Google+ API

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

Antwort

{ 
"image": { 
    "url": "https://lh3.googleusercontent.com/-U353P5vNuRE/AAAAAAAAAAI/AAAAAAAABKM/a7U7bq251x0/photo.jpg?sz=50" 
} 
} 

Antwort

14

Am Ende Ihrer URL-Zeichenfolge gibt es ein Attribut namens sz = 50

Ich habe gerade versucht, das Attribut zu ändern, und als Ergebnis wird auch die Bildgröße geändert.

Versuchen Sie, diese beiden URLs:

https://lh3.googleusercontent.com/-U353P5vNuRE/AAAAAAAAAAI/AAAAAAAABKM/a7U7bq251x0/photo.jpg?sz=50

und

https://lh3.googleusercontent.com/-U353P5vNuRE/AAAAAAAAAAI/AAAAAAAABKM/a7U7bq251x0/photo.jpg?sz=150

die diffrence sehen?

+1

Ich sehe das. Aber ich möchte das in dieser HTTP - Anfrage tun https://www.googleapis.com/plus/v1/people/100300281975626912157?fields=image&key={YOUR_API_KEY} – Maca

+0

@Maca gibt es keinen Parameter, um die Größe direkt in der Anfrage noch, so für das Ändern der Bild-URL im nachhinein ist der einzige Weg, um eine andere Größe zu bekommen. – Scarygami

3

Da es keine Möglichkeit in der api ist, dies zu tun, können Sie einfach sustr verwenden, um die ?str= zu entfernen und fügen Sie Ihre eigenen:

$imageUrl = substr($user['image']['url'],0,strpos($user['image']['url']."?sz=","?sz=")) . '?sz=100'; 

Oder für javascript:

iamgeUrl=user[image][url].substr(0,user[image][url].indexOf('?str=')) + '?sz=100'; 
1

Gerade haben Um das sz-Suffix zu ändern, das die gewünschte Größe anzeigt, ist hier das Suffix:

https://lh3.googleusercontent.com/-U353P5vNuRE/AAAAAAAAAAI/AAAAAAAABKM/a7U7bq251x0/photo.jpg? sz = 150

Wenn Sie die param schneiden, würden Sie die Standard-Foto erhalten

https://lh3.googleusercontent.com/-U353P5vNuRE/AAAAAAAAAAI/AAAAAAAABKM/a7U7bq251x0/photo.jpg

Größe und eine automatische Änderung der Zeichenfolge: https://jsfiddle.net/upyL4onm/3/

var newSize="300" 
var str = "https://lh3.googleusercontent.com/-U353P5vNuRE/AAAAAAAAAAI/AAAAAAAABKM/a7U7bq251x0/photo.jpg?sz=50"; 
var res = str.split("?sz=50")[0]+"?sz="+newSize; 

Und die console.log (res) wird ausgegeben:

https://lh3.googleusercontent.com/-U353P5vNuRE/AAAAAAAAAAI/AAAAAAAABKM/a7U7bq251x0/photo.jpg?sz=300