群组成员的Google应用脚本与网络应用

时间:2016-10-15 16:52:42

标签: google-apps-script

我正在尝试从我管理的Google群组中提取电子邮件列表。它远远高于简单导出的5k限制,因此我尝试使用谷歌应用程序脚本来执行此操作。

问题是,在apps脚本中,返回的用户数比webapp显示的数量少了约25%(14513 vs 18873)。这是应用程序脚本

var group = GroupsApp.getGroupByEmail("groupemail@google.com");//not the real email
Logger.log("Group user count " + group.getUsers().length);

从一些简单的测试中看,缺少的用户可能是具有最早注册日期的用户(通过拉随用户名进行随机测试然后按注册日期排序进行测试)

之前有没有人碰到这个或者你能指点我另一种方式来吸引其他用户吗?感谢。

编辑:从api文档中我注意到了这个

getUsers()   Retrieves the direct members of the group that have
             a known corresponding    Google account.

解释了缺少的用户,但没有解释如何获取其余的电子邮件

1 个答案:

答案 0 :(得分:0)

组内的成员可能在运行查询时未包含在组内,因为组服务中的getUsers()仅检索该组的所有直接成员。

请尝试使用高级Admin SDK Directory Service检索域中的组成员。使用此服务,您可以使用Members: list来获取帐户域内部或外部的成员。

为了帮助您实施此服务,请在这些SO帖子中查看建议的解决方案 - Extract group emails from group emails (groups in groups) apps script and then emailsUsing Directory API in Google-Apps-Script, how to get groups inside a group