پرس و جوهای ذخیره شده را مدیریت کنید

رابط برنامه‌نویسی کاربردی جستجوی ذخیره‌شده به شما امکان می‌دهد جستجوهای ذخیره‌شده در Google Vault را به‌صورت برنامه‌نویسی‌شده مدیریت کنید. می‌توانید یک جستجوی ذخیره‌شده را اجرا کنید تا بسته به معیارهای جستجو، همان نتایج یا نتایج جدیدتر و اضافی را بازیابی کنید. به‌عنوان‌مثال، اگر جستجوی شما شامل تاریخ پایان باشد، همان نتایجی را بازیابی می‌کنید که هنگام اجرای اولیه جستجو به‌دست آورده‌اید. اگر جستجو شامل تاریخ پایان نباشد، نتایج اصلی خود را به‌علاوه هر داده جدیدی که با معیارهای جستجو مطابقت دارد، دریافت می‌کنید.

یک کوئری ذخیره‌شده، پیام‌ها و فایل‌های تولید شده توسط کوئری را حفظ نمی‌کند؛ بلکه فقط پارامترهای جستجو را ذخیره می‌کند. برای حفظ پیام‌ها و فایل‌ها در وضعیت فعلی‌شان، باید نتایج جستجو را صادر کنید.

شما می‌توانید از این API در اسکریپت‌هایی که وظایف زیر را انجام می‌دهند استفاده کنید:

  • یک کوئری ذخیره شده در یک موضوع ایجاد کنید.
  • یک درخواست ذخیره شده را از یک موضوع حذف کنید.
  • بازیابی یک پرس‌وجوی ذخیره‌شده از یک موضوع.
  • بازیابی تمام کوئری‌های ذخیره شده از یک موضوع.

برای کار با منابع Vault، یک حساب کاربری باید امتیازات لازم Vault و دسترسی به موضوع را داشته باشد. برای دسترسی به یک موضوع، یک حساب کاربری باید آن موضوع را ایجاد کرده باشد، موضوع را با آنها به اشتراک گذاشته باشد یا امتیاز مشاهده همه موضوعات را داشته باشد.

ایجاد یک عبارت جستجوی ذخیره شده

مثال‌های زیر نحوه ایجاد کوئری‌های ذخیره شده برای پیام‌های ایمیل و فایل‌ها در گوگل درایو را نشان می‌دهند:

ایمیل

جاوا

public SavedQuery createMailAllDataAccountSavedQuery(String matterId) throws Exception {
    AccountInfo emailsToSearch =
        new AccountInfo().setEmails((ImmutableList.of("email1", "email2")));
    MailOptions mailOptions = new MailOptions().setExcludeDrafts(true);
    String queryTerms = "to:ceo@solarmora.com";
    Query mailQuery =
        new Query()
            .setCorpus("MAIL")
            .setDataScope("ALL_DATA")
            .setSearchMethod("ACCOUNT")
            .setAccountInfo(emailsToSearch)
            .setTerms(queryTerms)
            .setMailOptions(mailOptions);
    SavedQuery savedQuery =
        new SavedQuery()
            .setDisplayName("NEW SAVED QUERY NAME")
            .setQuery(mailQuery);
    return client.matters().savedQueries().create(matterId, savedQuery).execute();
} 

پایتون

def create_mail_all_data_account_saved_query(self, 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,
    }
    saved_query = {
        'displayName': 'NEW SAVED QUERY NAME',
        'query': mail_query,
    }
    return self.service.matters().savedQueries().create(
        matterId=matter_id, body=saved_query).execute()

رانندگی

جاوا

public SavedQuery createDriveAllDataOUSavedQuery(String matterId) throws Exception {
    OrgUnitInfo ouToSearch = new OrgUnitInfo().setOrgUnitId("ou id retrieved from admin sdk");
    DriveOptions driveQueryOptions = new DriveOptions().setIncludeTeamDrives(true);
    Query driveQuery =
        new Query()
            .setCorpus("DRIVE")
            .setDataScope("ALL_DATA")
            .setSearchMethod("ORG_UNIT")
            .setOrgUnitInfo(ouToSearch)
            .setDriveOptions(driveQueryOptions);
    SavedQuery savedQuery =
        new SavedQuery()
            .setDisplayName("NEW SAVED QUERY NAME")
            .setQuery(driveQuery);
    return client.matters().savedQueries().create(matterId, savedQuery).execute();
  }
} 

پایتون

def create_drive_all_data_ou_saved_query(self, matter_id):
    ou_to_search = 'ou id retrieved from admin sdk'
    drive_query_options = {'includeTeamDrives': True}
    drive_query = {
        'corpus': 'DRIVE',
        'dataScope': 'ALL_DATA',
        'searchMethod': 'ORG_UNIT',
        'orgUnitInfo': {
            'org_unit_id': ou_to_search,
        },
        'driveOptions': drive_query_options
    }
    saved_query = {
        'displayName': 'NEW SAVED QUERY NAME',
        'query': drive_query,
    }
    return self.service.matters().savedQueries().create(
        matterId=matter_id, body=saved_query).execute()

حذف یک عبارت جستجوی ذخیره شده

مثال زیر نحوه حذف یک کوئری ذخیره شده را نشان می‌دهد.

جاوا

public Empty deleteSavedQuery(String matterId, String savedQueryId) throws Exception {
    return client.matters().savedQueries().delete(matterId, savedQueryId).execute();
} 

پایتون

def delete_saved_query(self, matter_id, saved_query_id):
    empty_response = self.service.matters().savedQueries().delete(
        matterId=matter_id, savedQueryId=saved_query_id).execute()
    return empty_response

دریافت یک عبارت جستجوی ذخیره شده

مثال زیر نحوه بازیابی یک کوئری ذخیره شده را با استفاده از شناسه آن نشان می‌دهد.

جاوا

public SavedQuery getSavedQuery(String matterId, String savedQueryId) throws Exception {
    return client.matters().savedQueries().get(matterId, savedQueryId).execute();
} 

پایتون

def get_saved_query(self, matter_id, saved_query_id):
    saved_query = self.service.matters().savedQueries().get(
        matterId=matter_id, savedQueryId=saved_query_id).execute()
    return saved_query

فهرست کردن کوئری‌های ذخیره شده در یک موضوع

مثال زیر نحوه فهرست کردن کوئری‌های ذخیره شده یک موضوع را نشان می‌دهد.

جاوا

public void listSavedQueries(String matterId) throws Exception {
    ListSavedQueriesResponse firstPageResponse =
        client.matters().savedQueries().list(matterId).setPageSize(10).execute();
    String nextPageToken = firstPageResponse.getNextPageToken();
    if (nextPageToken != null) {
      client
          .matters()
          .savedQueries()
          .list(matterId)
          .setPageSize(10)
          .setPageToken(nextPageToken)
          .execute();
    }
} 

پایتون

def list_saved_queries(self, matter_id):
    first_page_response = self.service.matters().savedQueries().list(
        matterId=matter_id, pageSize=10).execute()
    if 'nextPageToken' in first_page_response:
      self.service.matters().savedQueries().list(
          pageSize=10,
          pageToken=first_page_response['nextPageToken']).execute()