Sorgu sonuçlarını sayma
Dışa aktarma işlemi oluşturmadan önce Gmail veya Gruplar sorgusundaki mesajları saymak için matters.count
yöntemini kullanabilirsiniz. Bu bilgilerle, daha fazla veya daha az sonuç döndürmek için sorgu filtrelerinizi hassaslaştırabilirsiniz.
Apps Kasası kaynaklarıyla çalışmak için hesabın gerekli Apps Kasası ayrıcalıklarına ve konuya erişime sahip olması gerekir. Bir konuya erişmek için hesabın konuyu oluşturmuş olması, konunun hesapla paylaşılmış olması veya Tüm Konuları Görüntüleme ayrıcalığına sahip olması gerekir.
Aşağıdaki örnekte, aşağıdaki ölçütleri karşılayan mesajlar için bir sorgu tarafından döndürülen sonuçların nasıl sayılacağı gösterilmektedir:
email1
veemail2
hesaplarına ait mesajlar- Taslak iletiler hariç tutulur.
ceo@solarmora.com
adresine gönderilen mesajlar.
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"]