Compter les résultats de la requête
Vous pouvez utiliser la méthode matters.count
pour comptabiliser les messages d'une requête Gmail ou Groupes avant de créer une exportation. Grâce à ces informations, vous pouvez affiner vos filtres de requête afin de renvoyer plus ou moins de résultats.
Pour utiliser des ressources Vault, le compte doit disposer des droits Vault et d'un accès au litige. Pour pouvoir accéder à un litige, le compte concerné doit avoir créé ce litige, l'avoir partagé avec lui ou disposer du droit Afficher tous les litiges.
L'exemple suivant montre comment compter les résultats renvoyés par une requête pour les messages qui répondent aux critères suivants:
- messages appartenant aux comptes
email1
etemail2
. - exclut les brouillons.
- messages envoyés à
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"]