【发布时间】:2021-11-17 15:41:16
【问题描述】:
场景
我是 Google Workspace for Education 管理员。每年我们都会重命名学生的组名,但不会重命名他们的电子邮件地址(即“一等”chimps@mydomain.edu 变为“二等”chimps@mydomain.edu)
当教师搜索群组(在 Gmail、Classroom 等中)时,自动完成功能会同时显示旧名称和新名称:这很令人困惑,尽管群组和成员都可以
发生这种情况是因为在与群组的每次首次交互时,用户的联系人应用程序会自动将其保存在其他联系人中;在新年的变化,一个新的其他联系人被添加(不更新以前的)
长期解决方案
每个老师打开联系人>其他联系人并手动删除'旧组',每年新年
我会怎么做
在新的一年开始时,搜索其他联系人并删除每个学生组(如果找到)的脚本(包括对每个用户执行此操作的脚本,以及对服务帐户的全域权限委派,或者每个教师运行的 Web 应用程序)因为他自己会没事的);所以不再有旧的自动完成功能,新的自动完成功能会在下次交互时重新创建
我可以自己写脚本,但我无法解决以下问题
问题
People API 方法似乎不以任何方式支持这一点
- People.People.deleteContacts 仅适用于联系人,但不适用于其他联系人
- People.OtherContacts 方法似乎是只读的
- 尝试使用 People.OtherContacts.copyOtherContactToMyContactsGroup 覆盖此设置,然后删除联系人 - 不起作用,该方法会创建其他联系人的副本,似乎不会将其从其他联系人移动到联系人
但如果我从 Contacts Web 应用程序尝试这最后一件事,我可以将 Other Contact 添加到 Contacts,并且此操作会移动(而不是复制)联系人!
所以:
- 我是否遗漏了可以通过 Apps 脚本执行我需要的任何操作?
- 有没有办法在 Apps 脚本中复制最后一个行为(从其他联系人移动到联系人,而不是创建副本)?
提前谢谢你
【问题讨论】: