API аудита электронной почты GSuite: для некоторых пользователей не создаются мониторы - PullRequest
0 голосов
/ 08 января 2020

Я использую GSuite Email Audit API для мониторинга пользователей Google из Организации. Но когда я попытался создать монитор программно, используя JAVA, он не смог создать мониторы для некоторых пользователей. Я просто хотел, чтобы эти мониторы создавались для пользователей, поэтому я написал для этого cron из Google App Engine (GAE).

Пример моего кода показан здесь:

import java.util.Calendar;
        import com.google.gdata.client.appsforyourdomain.audit.AuditService;
        import com.google.gdata.data.appsforyourdomain.generic.GenericEntry;
        import com.google.gdata.client.appsforyourdomain.audit.MailMonitor;
        ...

        MailMonitor monitor = new MailMonitor();
        Calendar beginDate = Calendar.getInstance();
        beginDate.set(beginDate.get(Calendar.YEAR), 
        beginDate.get(Calendar.MONTH), beginDate.get(Calendar.DATE), 
        beginDate.get(Calendar.HOUR_OF_DAY),beginDate.get(Calendar.MINUTE));
        monitor.setBeginDate(beginDate.getTime());
        Calendar endDate = Calendar.getInstance();
        endDate.set(endDate.get(Calendar.YEAR), endDate.get(Calendar.MONTH), 
        endDate.get(Calendar.DATE) + 1, 23,59);
        monitor.setEndDate(endDate.getTime());
        monitor.setIncomingEmailMonitorLevel("FULL_MESSAGE");
        monitor.setOutgoingEmailMonitorLevel("FULL_MESSAGE");
        monitor.setDraftMonitorLevel("");
        monitor.setChatMonitorLevel("");
        monitor.setDestUserName("namrata");
    try {
            AuditService service = new AuditService( "example.com", "example.com-auditapp-v1");
            service.setOAuth2Credentials(credential);
            service.setContentType(ContentType.ATOM_ENTRY);
            List<String> allUsers = getAllUsersList(domainName);
            GenericEntry entry = null;
            try {
                    for (int i = 0; i < allUsers.size(); i++) {
                        try {
                                entry = 
                                service.createMailMonitor(allUsers.get(i),monitor);

                            } catch (Exception e) {
                                  ErrorHandler.errorHandler(this.getClass().getSimpleName(),e);
                            }

                     }
                } catch (Exception e) {
                    ErrorHandler.errorHandler(this.getClass().getSimpleName(),e);
                }

        } catch (AuthenticationException e) {
                ErrorHandler.errorHandler(this.getClass().getSimpleName(),e);
        } catch (Exception e) {
                ErrorHandler.errorHandler(this.getClass().getSimpleName(),e);
        }

getAllUsersList () - это метод, в котором я получаю список всех пользователей, принадлежащих домену. Он программно показывает, что мониторы созданы для всех пользователей, но он работает только для некоторых пользователей, а для остальных пользователей мониторы не создаются.

...