谷歌群组getUsers()不会返回所有成员



我很困惑,但作为一个新的谷歌应用程序用户,我可能会做错事。

  • 我在这个域上创建了一个"mydomain.tld"域和一个"mygroup"谷歌组。

  • 此组包含的电子邮件地址并非全部为@gmail.com或@domain.tld。所有地址都已直接添加(这是学校的学生名单)

  • 我创建了一个电子表格,并在工作表中添加了一个脚本来检索该组的所有成员。

  • 如果我使用不推荐使用的函数:GroupsManager.getGroup("mygroup@mydomain.tld").getAllMembers(); ,一切都很好

  • 当我使用新的API时,我只得到小组成员的一小部分:GroupsApp.getGroupByEmail("mygroup@mydomain.tld").getUsers();

据我所见,我得到了所有的gmail.com电子邮件地址,还有一些来自其他域的电子邮件。

非常感谢提前让我知道我错了什么,以及如何使用当前的API获取该组的所有电子邮件地址。

我找到了一种方法,可以使用获取组地址的完整列表

lMembers = AdminDirectory.Members.list(my_group_email).members

这需要在脚本编辑器的Google Advanced Services菜单中授权管理员API,并在Google开发控制台中激活管理员SDK。

如果用户是域的超级管理员,它会很好地工作,但我还没有授权非超级管理员用户使用此功能。

任何关于在哪里寻找的提示都将不胜感激。

这里最有可能的答案是,没有返回的地址不是真正的用户,而是"组"或非谷歌用户。

我的理解是,在旧的弃用方法中,"getAllMembers()"实际上会列出该组所有成员的电子邮件,然而,"getUsers())"似乎只是返回实际的谷歌帐户,而不是所有电子邮件地址的列表。因此,任何嵌套的组都不会返回第二个组的电子邮件地址(因为它不是真正的用户),也不会返回组中列出的任何非谷歌帐户的地址(因为谷歌不认为它们是"真正的用户")。

简单的测试方法=检查未返回的结果是否为组电子邮件地址和/或Hotmail地址等非Gmail帐户。

如果是这种情况,并且你想就此向谷歌提供反馈,你可以向下滚动到群组页面的最底部,点击"连接"下的"报告问题"。这将打开一个对话框,让你反馈给谷歌。

相关内容

  • 没有找到相关文章

最新更新