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

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

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

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

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

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

مثال‌های زیر نحوه ایجاد عبارت‌های جستجوی ذخیره‌شده برای پیام‌های ایمیل و فایل‌ها در Drive را نشان می‌دهند:

ایمیل

جاوا

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/pre>
  

Get a saved search query

The following example shows how to retrieve a saved query by its ID.

Java

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()