获取具有管理员帐户/已弃用的GroupsManager类的组成员

时间:2014-05-27 07:17:10

标签: google-apps-script google-admin-sdk

班级组管理员将于2014年11月20日https://developers.google.com/apps-script/reference/domain/groups-manager

关闭

我正在使用此课程管理一些使用我的管理员帐户的群组,因为它允许访问群组成员没有会员

示例代码:

var group = GroupsManager.getGroup("some-group-name@mydomain.com");
var members = group.getAllMembers();

使用群组服务https://developers.google.com/apps-script/reference/groups/不是一个选项,如文档中所述:“此服务允许脚本访问Google网上论坛。它可用于查询群组的电子邮件地址或列表等信息用户是的成员。

使用GroupsManager中建议的 AdminSDK “要管理您的域名,请使用管理SDK目录和管理员SDK报告高级服务。”不是一个选项,因为没有方法来检索组的成员 ...

那么,任何人都有线索?

谢谢你, 弗兰克

2 个答案:

答案 0 :(得分:0)

您可以使用Admin SDK目录服务执行此操作。方法AdminDirectory.Members.list列出了组的所有成员。

答案 1 :(得分:0)

Directory service = null;
        try
            {
                HttpTransport httpTransport = new NetHttpTransport();
                JacksonFactory jsonFactory = new JacksonFactory();
                GoogleCredential credential = new GoogleCredential.Builder()
                    .setTransport(httpTransport)
                    .setJsonFactory(jsonFactory)
                    .setServiceAccountId(SERVICE_ACCOUNT_EMAIL)
                    .setServiceAccountScopes(Arrays.asList(DirectoryScopes.ADMIN_DIRECTORY_USER))
                    .setServiceAccountUser(userEmail)
                    .setServiceAccountPrivateKeyFromP12File(
                        new java.io.File(SERVICE_ACCOUNT_PKCS12_FILE_PATH))
                    .build();
                service = new Directory.Builder(httpTransport, jsonFactory, null)
                    .setHttpRequestInitializer(credential).setApplicationName("ShareFileUSer").build();
            }catch(Exception e)
            {
                System.out.println("Exception is : "+e);
            }



    Directory.Users.List userList = service.users().list().setCustomer("my_customer").setMaxResults(100);