Abfrageergebnisse zählen

Mit der Methode matters.count können Sie die Nachrichten aus einer Gmail- oder Google Groups-Abfrage zählen, bevor Sie einen Export erstellen. Mit diesen Informationen können Sie die Abfragefilter so verfeinern, dass mehr oder weniger Ergebnisse zurückgegeben werden.

Damit Sie mit Vault-Ressourcen arbeiten können, muss das Konto die erforderlichen Vault-Berechtigungen und Zugriff auf die Rechtsangelegenheit haben. Um auf eine Rechtsangelegenheit zuzugreifen, muss das Konto diese erstellt haben, die Rechtsangelegenheit für sie freigegeben haben oder die Berechtigung Alle Rechtsangelegenheiten abrufen haben.

Das folgende Beispiel zeigt, wie die Ergebnisse einer Abfrage für Nachrichten gezählt werden, die die folgenden Kriterien erfüllen:

  • Nachrichten der Konten email1 und email2
  • schließt Nachrichtenentwürfe aus.
  • an ceo@solarmora.com gesendete Nachrichten.

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