Menghitung hasil kueri

Anda dapat menggunakan metode matters.count untuk menghitung pesan dari kueri Gmail atau Grup sebelum membuat ekspor. Dengan informasi ini, Anda dapat menyaring filter kueri untuk menampilkan lebih banyak atau lebih sedikit hasil.

Untuk menggunakan resource Vault, akun harus memiliki hak istimewa Vault yang diperlukan dan akses ke masalahnya. Untuk mengakses masalah, akun tersebut harus sudah membuat masalah, membagikan masalah kepadanya, atau memiliki hak istimewa Melihat Semua Masalah.

Contoh berikut menunjukkan cara menghitung hasil yang ditampilkan oleh kueri untuk pesan yang memenuhi kriteria berikut:

  • pesan yang dimiliki oleh akun email1 dan email2.
  • tidak termasuk draf pesan.
  • pesan dikirim ke 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"]