Menghitung hasil kueri
Anda dapat menggunakan metode matters.count untuk menghitung pesan dari kueri Gmail atau Google Grup sebelum membuat ekspor. Gunakan informasi ini untuk menyaring filter kueri dan menampilkan lebih sedikit hasil.
Untuk menggunakan resource Google Vault, akun harus memiliki hak istimewa Vault yang diperlukan dan akses ke kasus. Untuk mengakses suatu kasus, akun harus telah membuat kasus tersebut, telah dibagikan kasus tersebut, atau memiliki hak istimewa Melihat Semua Kasus.
Contoh berikut menunjukkan cara menghitung hasil yang ditampilkan oleh kueri untuk pesan yang memenuhi kriteria berikut:
- Pesan yang dimiliki oleh akun
email1danemail2. - Mengecualikan pesan draf.
- 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"]