是否可通过Apps Script删除谷歌Other Contacts(其他联系人)?
问题解答
针对第一个问题:是否有遗漏的Apps Script实现途径
现有公开People API确实仅支持Other Contacts的只读操作,你可以通过旧版GData Contacts API实现需求,该API目前仍可正常调用,支持对Other Contacts条目执行删除操作:
- 如果你选择全域服务账号方案:
- 在Google Cloud控制台启用Contacts API,为服务账号配置全域权限委托,授权范围填写
https://www.google.com/m8/feeds - 在Apps Script中通过
UrlFetchApp模拟对应用户身份调用Contacts API接口,拉取指定用户的Other Contacts列表,过滤出所有匹配学生群组域名的条目后直接调用删除接口即可
- 在Google Cloud控制台启用Contacts API,为服务账号配置全域权限委托,授权范围填写
- 如果你选择让老师自主运行的Web应用方案:
直接开发单页Apps Script Web App,申请Contacts API的对应授权,用户打开应用确认授权后,脚本自动拉取当前用户的Other Contacts列表,批量删除匹配学生群组规则的条目,全程无需用户手动操作通讯录。
针对第二个问题:是否可以复现网页端的移动逻辑
公开API体系中没有对应网页端「移动Other Contacts到普通联系人」的原生方法,网页端该操作调用的是Google未公开的内部接口,无法在公开的Apps Script/API调用中直接复现。
你可以通过两步操作实现完全一致的效果:
- 调用
People.OtherContacts.copyOtherContactToMyContactsGroup复制条目到普通联系人组 - 调用旧版Contacts API删除Other Contacts中的源条目
操作完成后和网页端移动的最终效果完全一致,不会残留重复记录。
实现注意点
批量删除前可以先加过滤规则,比如仅匹配邮箱后缀为你域名的条目,避免误删用户个人的Other Contacts记录,删除完成后用户后续和群组交互时会自动生成带新名称的Other Contacts记录,不会再出现旧名称的自动补全选项。
内容的提问来源于stack exchange,提问作者Daniele Debiagi
相关产品推荐
相关产品推荐

