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

PeopleQuickstart使用contacts.other.readonly作用域无法获取其他联系人问题

无法获取Google联系人中「其他联系人」的常见原因及解决办法

1. 旧授权缓存未清理

你添加新作用域后如果没有删除本地已缓存的授权凭证,新权限不会实际生效。

  • 找到快速启动项目默认存储凭证的目录:用户根目录下的.credentials/people-quickstart文件夹
  • 删除该文件夹下所有文件,重新运行项目重新走OAuth授权流程,确保授权弹窗里出现「查看你的其他联系人」相关权限提示,用户确认后新作用域才会生效。

2. 调用的API接口不匹配

people.connections.list 接口默认仅返回你主动添加的「我的联系人」列表,要获取「其他联系人」必须调用专门的 otherContacts.list 接口,同时必须配置正确的readMask参数,没有配置readMask会直接返回空结果。如果你需要同时获取「我的联系人」和「其他联系人」,需要分别调用两个接口,再自行合并结果集。
参考Java调用示例:

ListOtherContactsResponse response = peopleService.otherContacts()
    .list()
    .setReadMask("names,emailAddresses,phoneNumbers")
    .setPageSize(1000)
    .execute();
List<Person> otherContacts = response.getOtherContacts();

3. 客户端依赖版本过低

旧版本的People API Java客户端可能未兼容otherContacts相关接口,先升级你的google-api-services-people依赖到最新稳定版再重试。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.12 14:18:01