2

我很困惑,但作为一个新的 Google Apps 用户,我可能会做错事。

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

  • 此组包含的电子邮件地址不全是@gmail.com 或@domain.tld。都已经直接添加了(是一个学校的学生名单)

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

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

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

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

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

4

2 回答 2

1

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

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

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

如果用户是域的超级管理员,则效果很好,但我尚未授权非超级管理员用户使用此功能。

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

于 2014-10-01T14:50:09.953 回答
0

这里最可能的答案是没有返回的地址不是真实用户,而是“群组”或非 Google 用户。

我的理解是,在不推荐使用的旧方法中,“getAllMembers()”实际上会列出该组所有成员的电子邮件,但是,“getUsers()”似乎只返回实际的 Google 帐户,而不仅仅是所有电子邮件地址的列表. 因此,任何嵌套组都不会返回第二组电子邮件地址(因为它不是真实用户),它也不会返回组中列出的任何非 Google 帐户的地址(因为 Google 不会将他们视为“真实用户”)。

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

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

于 2014-09-29T20:55:28.567 回答