Recuento de los resultados de la búsqueda

Puedes usar el método matters.count para contar los mensajes de una búsqueda de Gmail o de Grupos de Google antes de crear una exportación. Usa esta información para definir mejor los filtros de tu búsqueda y obtener menos resultados.

Para trabajar con los recursos de Google Vault, una cuenta debe tener los privilegios de Vault requeridos y acceso al asunto. Para acceder a un asunto, la cuenta debe haberlo creado, debe tenerlo compartido o debe tener el privilegio Ver todos los asuntos.

En el siguiente ejemplo, se muestra cómo contar los resultados que devuelve una consulta para los mensajes que cumplen con los siguientes criterios:

  • Mensajes propiedad de las cuentas email1 y email2.
  • No incluye los borradores de mensajes.
  • Mensajes enviados a ceo@solarmora.com

Java

public Long count(Vault client, String matterId) {
  AccountInfo emailsToSearch = new AccountInfo().setEmails(ImmutableList.of("email1", "email2"));
  MailOptions mailQueryOptions = new MailOptions().setExcludeDrafts(true);
  String queryTerms = "to:ceo@solarmora.com";
  Query query =
    new Query()
      .setCorpus("MAIL")
      .setDataScope("ALL_DATA")
      .setSearchMethod("ACCOUNT")
      .setAccountInfo(emailsToSearch)
      .setTerms(queryTerms);
  CountArtifactsRequest request = new CountArtifactsRequest().setQuery(query);
  Operation operation = client.matters().count(matterId, request).execute();

  while(!operation.getDone()) {
    sleep(2000);
    operation = service.operations().get(operation.getName()).execute();
  }
  if(operation.getResponse() != null) {
    return Long.parseLong(operation.getResponse.get("total_count").toString());
  }
  return -1;
}
 

Python

def count(service, matter_id):
  emails_to_search = ['email1', 'email2']
  mail_query_options = {'excludeDrafts': True}
  query_terms = 'to:ceo@solarmora.com'
  mail_query = {
    'corpus': 'MAIL',
    'dataScope': 'ALL_DATA',
    'searchMethod': 'ACCOUNT',
    'accountInfo': {
        'emails': emails_to_search
    },
    'terms': query_terms,
    'mailOptions': mail_query_options,
  }
  request = {
    'query': mail_query
  }
  operation = service.matters().count(matterId=matter_id, body=request).execute()

  while not operation.getDone():
    time.sleep(2)
    operation = service.operations().get(name=operation.getName()).execute()

  if operation.getResponse() is None:
    return -1

  return operation.getResponse()["total_count"]