从Google+ API检索个人资料图片

时间:2012-12-24 11:46:04

标签: google-plus

我正在尝试从Google+ API中提取JSON数据。当我包含图像属性时,图像的大小设置为50px。如何更改图像大小?我没有在文档中看到它。 https://developers.google.com/+/api/latest/people/get

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

响应

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

4 个答案:

答案 0 :(得分:17)

在您的网址字符串末尾有一个名为sz = 50

的属性

我只是尝试更改属性,结果图像的大小也发生了变化。

试试这两个网址:

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

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

看到差异?

答案 1 :(得分:3)

只需要更改指示wnated大小的sz后缀,这里是后缀:

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

如果你剪切了参数,你会得到默认的照片大小

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

字符串中的自动更改: 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;

并且console.log(res)将输出:

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

答案 2 :(得分:2)

由于api无法执行此操作,因此您只需使用sustr删除?str=并添加自己的代码:

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

或者对于javascript:

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

答案 3 :(得分:2)

谷歌图片有两种:

  1. 用户上传的个人资料图片(以 s96-c 结尾)
  1. Google 生成的图片(以 photo.jpg 结尾)

将 {anyhighernumber} 替换为您想要的分辨率,例如:1500