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

Google People API directory_people仅返回调用者姓名,其他用户姓名缺失求助

解决方法

1. 确认OAuth授权范围是否正确

确保应用请求的是适用于Workspace目录的People API权限范围,需使用以下任一scope:

  • https://www.googleapis.com/auth/admin.directory.user.readonly:允许读取Workspace目录下所有用户信息(需管理员授权)
  • https://www.googleapis.com/auth/people.read:允许读取当前用户可访问的目录人员信息

若之前的权限范围被误修改,会导致无法获取其他用户的姓名,重新授权时务必指定上述scope。

2. 调整sources参数组合

当前请求仅使用DIRECTORY_SOURCE_TYPE_DOMAIN_PROFILE,尝试添加DIRECTORY_SOURCE_TYPE_DOMAIN_CONTACT,修改后的代码如下:

response = list_person_directory_people(
  page_size: limit, # NOTE: 1000 is max supported value for this api
  read_mask: 'emailAddresses,names,photos',
  sources:   ['DIRECTORY_SOURCE_TYPE_DOMAIN_PROFILE', 'DIRECTORY_SOURCE_TYPE_DOMAIN_CONTACT']
)

response&.people

域联系人来源通常包含更完整的用户姓名信息,部分Workspace配置下域配置文件的姓名字段可能被限制可见。

3. 检查Workspace管理员控制台的用户可见性设置

登录Google Workspace管理员控制台:

  • 进入用户 > 用户设置
  • 找到目录共享选项,确认已开启“允许用户查看目录中的所有用户信息”(至少确保姓名字段可见)
  • 检查单个用户的隐私配置,确认其他用户的姓名未被设置为仅自身可见

4. 通过API Explorer验证请求权限

使用Google API Explorer直接测试people.directoryPeople.list接口:

  • 选择正确的OAuth scope并登录管理员账号
  • 设置与代码中一致的read_mask和sources参数
  • 查看返回结果是否包含其他用户姓名
    若API Explorer能正常返回,说明问题出在Ruby代码的授权流程;若同样无法返回,需联系Google Workspace支持排查域级配置问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 02:40:33