إحصاء نتائج طلب البحث
يمكنك استخدام طريقة matters.count
لاحتساب عدد الرسائل من طلب بحث في Gmail أو "مجموعات Google" قبل إنشاء عملية تصدير. باستخدام هذه المعلومات، يمكنك تحسين فلاتر طلب البحث لعرض نتائج أكثر أو أقل.
للعمل باستخدام موارد Vault، يجب أن يتضمّن الحساب امتيازات Vault المطلوبة وأن يكون لديه إذن الوصول إلى القضية. للوصول إلى مسألة قانونية، يجب أن يكون الحساب قد أنشأ المسألة القانونية أو تمت مشاركتها معه أو أن يكون لديه امتياز عرض جميع المسائل القانونية.
يوضّح المثال التالي كيفية احتساب النتائج التي تعرضها طلب بحث عن الرسائل التي تستوفي المعايير التالية:
- الرسائل المملوكة للحسابَين
email1
وemail2
- تستبعد هذه الوسيطة مسودات الرسائل.
- الرسائل المُرسَلة إلى
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"]