Я использую 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 () - это метод, в котором я получаю список всех пользователей, принадлежащих домену. Он программно показывает, что мониторы созданы для всех пользователей, но он работает только для некоторых пользователей, а для остальных пользователей мониторы не создаются.