You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GooglePlus已弃用,如何获取用户原始尺寸个人资料照片?

解答

关于Directory API获取原始尺寸照片

Google Admin SDK Directory API的users.photos.get接口确实仅返回固定96x96像素的缩略图,没有参数或方法可以获取更大尺寸或原始尺寸的用户照片,这是该API的设计限制。

替代方案

1. Google People API

这是Google官方推荐的替代Google+ API的用户资料接口,支持获取不同尺寸的个人资料照片,包括接近原始尺寸的大图。

  • 权限要求:根据场景不同申请对应OAuth2权限,用户授权场景需profile或https://www.googleapis.com/auth/userinfo.profile;域管理员批量获取域内用户资料时,可使用域范围授权,搭配https://www.googleapis.com/auth/directory.users.readonly或https://www.googleapis.com/auth/people.readonly权限。
  • 获取照片方式:调用people.get接口并指定person_fields=photos,返回的photos数组中包含照片URL,该URL支持通过sz参数调整尺寸(例如sz=2048获取2048x2048像素的照片,最大支持到2048像素,实际尺寸取决于用户上传的原始照片大小)。
  • Ruby代码示例:
require 'google/apis/people_v1'
require 'googleauth'

# 初始化客户端
people_service = Google::Apis::PeopleV1::PeopleServiceService.new
people_service.authorization = Google::Auth::UserRefreshCredentials.new(
  client_id: 'YOUR_CLIENT_ID',
  client_secret: 'YOUR_CLIENT_SECRET',
  refresh_token: 'USER_REFRESH_TOKEN',
  scope: ['profile']
)

# 获取当前用户资料照片
response = people_service.get_person('people/me', person_fields: 'photos')
photo_url = response.photos.first.url
# 修改sz参数获取2048尺寸的照片
large_photo_url = photo_url.gsub(/sz=\d+/, 'sz=2048')

2. 公共头像URL(限公开场景)

如果用户的个人资料头像设置为公开,可直接构造URL获取不同尺寸的照片,无需调用API:

  • 格式:https://www.google.com/s2/photos/profile/{USER_EMAIL}?sz={SIZE}
  • 示例:https://www.google.com/s2/photos/profile/user@example.com?sz=2048
  • 注意:若用户设置头像为私有,该URL将返回默认占位图,无法访问实际头像。

3. 自主存储用户照片

如果需要完全确保获取原始尺寸且不受Google API限制,最可靠的方案是让用户直接将头像上传至你的服务并存储,后续从自有存储系统读取,彻底摆脱对Google服务的依赖。


内容的提问来源于stack exchange,提问作者VinnyQ77

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 16:36:07