我很困惑,但作为新的Google Apps用户,我可能会做错事。
我在此域名上创建了“mydomain.tld”域名和“mygroup”google论坛。
此论坛包含的电子邮件地址并不全是@ gmail.com或@ domain.tld。所有都已直接添加(这是学校的学生名单)
我创建了一个电子表格,并在工作表中添加了一个脚本,以检索该组的所有成员。
如果我使用弃用的功能,一切都很好:GroupsManager.getGroup("mygroup@mydomain.tld").getAllMembers();
使用新API时,我只获得了小组成员的一小部分:
GroupsApp.getGroupByEmail("mygroup@mydomain.tld").getUsers();
到目前为止,我可以看到我收到了所有gmail.com电子邮件地址以及来自其他域的一些电子邮件。
非常感谢您提前告诉我错误以及如何使用当前API获取该组的所有电子邮件地址。
答案 0 :(得分:1)
我找到了一种使用以下方法获取组地址的完整列表的方法:
lMembers = AdminDirectory.Members.list(my_group_email).members
这需要在脚本编辑器的Google Advanced Services菜单中授权管理API,并在Google开发者控制台中激活Admin SDK。
如果用户是域的超级管理员,但我还没有设法授权非超级管理员用户使用此功能,那么效果很好。
任何关于在哪里寻找的提示都将受到赞赏。
答案 1 :(得分:0)
这里最可能的答案是,未返回的地址不是真实用户,而是“群组”或非Google用户。
我的理解是,在旧的弃用方法中,'getAllMembers()'会直接列出该组所有成员的电子邮件,但是,'getUsers()'似乎只返回实际的Google帐户,而不仅仅是一个列表所有电邮地址。因此,任何嵌套组都不会返回第二组电子邮件地址(因为它不是真实用户),并且它也不会返回该组中列出的任何非Google帐户的地址(因为Google不会将他们视为“真实用户”。
简单的测试方式=检查未返回的结果是否为群组电子邮件地址和/或非Gmail帐户(如Hotmail地址)。
如果是这种情况,并且您想要对此反馈给Google,则可以向下滚动到groups page的最底部,然后在“连接”下点击“报告问题”。这将打开一个对话框,让您反馈给Google。