นับผลการค้นหา

คุณสามารถใช้เมธอด matters.count เพื่อนับข้อความจากการค้นหาของ Gmail หรือ Groups ก่อนที่จะสร้างการส่งออก ข้อมูลนี้จะช่วยให้คุณปรับแต่งตัวกรองข้อความค้นหาเพื่อให้แสดงผลลัพธ์มากขึ้นหรือน้อยลงได้

หากต้องการทำงานกับทรัพยากรในห้องนิรภัย บัญชีต้องมีสิทธิ์ที่จําเป็นสําหรับห้องนิรภัยและการเข้าถึงเรื่อง หากต้องการเข้าถึงเคส บัญชีต้องเป็นผู้สร้างเคส มีเคสที่แชร์กับตน หรือมีสิทธิ์ดูเคสทั้งหมด

ตัวอย่างต่อไปนี้แสดงวิธีนับผลลัพธ์ที่การค้นหาแสดงสำหรับข้อความที่ตรงตามเกณฑ์ต่อไปนี้

  • ข้อความที่บัญชี email1 และ email2 เป็นเจ้าของ
  • ยกเว้นข้อความร่าง
  • ข้อความที่ส่งไปยัง [email protected]

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:[email protected]";
  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:[email protected]'
  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"]