是否可以通过 Apps 脚本删除 Google 其他联系人?

Posted

技术标签:

【中文标题】是否可以通过 Apps 脚本删除 Google 其他联系人?【英文标题】:Is it possible to delete Google Other Contacts via Apps Script? 【发布时间】:2021-11-17 15:41:16 【问题描述】:

场景

我是 Google Workspace for Education 管理员。每年我们都会重命名学生的组名,但不会重命名他们的电子邮件地址(即“一等”chimps@mydomain.edu 变为“二等”chimps@mydomain.edu)

当教师搜索群组(在 Gmail、Clas-s-room 等中)时,自动完成功能会同时显示旧名称和新名称:这很令人困惑,尽管群组和成员都可以

发生这种情况是因为在与群组的每次首次交互时,用户的联系人应用程序会自动将其保存在其他联系人中;在新年的变化,一个新的其他联系人被添加(不更新以前的)

长期解决方案

每个老师打开联系人>其他联系人并手动删除'旧组',每年新年

我会怎么做

在新的一年开始时,搜索其他联系人并删除每个学生组(如果找到)的脚本(包括对每个用户执行此操作的脚本,以及对服务帐户的全域权限委派,或者每个教师运行的 Web 应用程序)因为他自己会没事的);所以不再有旧的自动完成功能,新的自动完成功能会在下次交互时重新创建

我可以自己写脚本,但我无法解决以下问题

问题

People API 方法似乎不以任何方式支持这一点

People.People.deleteContacts 仅适用于联系人,但不适用于其他联系人 People.OtherContacts 方法似乎是只读的 尝试使用 People.OtherContacts.copyOtherContactToMyContactsGroup 覆盖此设置,然后删除联系人 - 不起作用,该方法会创建其他联系人的副本,似乎不会将其从其他联系人移动到联系人

但如果我从 Contacts Web 应用程序尝试这最后一件事,我可以将 Other Contact 添加到 Contacts,并且此操作会移动(而不是复制)联系人!

所以:

    我是否遗漏了可以通过 Apps 脚本执行我需要的任何操作? 有没有办法在 Apps 脚本中复制最后一个行为(从其他联系人移动到联系人,而不是创建副本)?

提前谢谢你

【问题讨论】:

【参考方案1】:

如文档中所述,您只能Read, Copy, and Search "Other contacts"。

您可以创建一个Feature Request on Google's Issue tracker 来要求该联系人可编辑。

【讨论】:

好的,功能请求已创建。谢谢 最后,我没有打开新功能请求,而是为现有的相同功能加星标。如果有人正在寻找在 People API 中引入的类似内容,您可以在此处为请求加注星标:issuetracker.google.com/issues/199768096

以上是关于是否可以通过 Apps 脚本删除 Google 其他联系人?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Google Apps 脚本中添加和删除边框

是否可以使用 Apps 脚本运行 Google 表格插件?

在 iFrame 中嵌入 Google Apps 脚本

Google Bigquery 的 Apps 脚本未知错误

使用 Google Apps 脚本删除 Gmail 电子邮件的附件

使用Google Apps脚本删除Google表格中的行