ספירת תוצאות של שאילתות

אתם יכולים להשתמש בשיטה matters.count כדי לספור את ההודעות משאילתה ב-Gmail או בקבוצות לפני שאתם יוצרים ייצוא. בעזרת המידע הזה, תוכלו לשנות את מסנני השאילתה כדי לקבל יותר או פחות תוצאות.

כדי לעבוד עם משאבי Vault, לחשבון צריכות להיות הרשאות Vault הנדרשות וגישה לתיק. כדי לגשת לתיק, החשבון צריך ליצור את התיק, לקבל שיתוף של התיק או לקבל את ההרשאה View All Matters.

בדוגמה הבאה אפשר לראות איך לספור את התוצאות שמוחזרות משאילתה לגבי הודעות שעומדות בקריטריונים הבאים:

  • הודעות שנמצאות בבעלות של חשבונות 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"]