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
email1yemail2. - 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"]