إدارة طلبات البحث المحفوظة

تتيح لك واجهة برمجة تطبيقات الطلبات المحفوظة إدارة الطلبات المحفوظة آليًا في Vault. يمكنك تشغيل طلب بحث محفوظ لاسترداد النتائج نفسها أو نتائج إضافية أحدث، اعتمادًا على معايير طلب البحث. على سبيل المثال، إذا كان طلب البحث يتضمن تاريخ انتهاء، فستسترد النتائج نفسها التي استخدمتها عند تشغيل طلب البحث لأول مرة. إذا لم يتضمن طلب البحث تاريخ انتهاء، ستحصل على نتائجك الأصلية بالإضافة إلى أي بيانات جديدة تستوفي معايير البحث.

يمكنك استخدام واجهة برمجة التطبيقات هذه في النصوص البرمجية التي:

  • إنشاء طلب محفوظ في مسألة قانونية
  • حذف الطلب المحفوظ من مسألة قانونية
  • استرداد طلب بحث محفوظ من مسألة قانونية
  • استرداد جميع طلبات البحث المحفوظة من مسألة قانونية

للعمل باستخدام موارد Vault، يجب أن يحتوي الحساب على أداة Vault المطلوبة الامتيازات وإمكانية الوصول إلى أمر مهم. للوصول إلى مسألة قانونية، يجب أن يكون الحساب قد أنشأ المسألة القانونية، وأن يتضمن تمت مشاركة مسألة قانونية مع المستخدم، أو لديه امتياز عرض جميع المسائل القانونية.

إنشاء طلب بحث محفوظ

توضِّح الأمثلة التالية كيفية إنشاء الطلبات المحفوظة لرسائل البريد والملفات في Drive:

البريد

Java

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

Python

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

Drive

Java

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

Python

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

حذف طلب بحث محفوظ

يوضّح المثال التالي كيفية حذف طلب بحث محفوظ.

Java

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

Python

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

الحصول على طلب بحث محفوظ

يوضّح المثال التالي كيفية استرداد طلب بحث محفوظ حسب رقم التعريف الخاص به.

Java

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

Python

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

سرد الطلبات المحفوظة في مسألة قانونية

يوضّح المثال التالي كيفية إدراج طلبات البحث المحفوظة لمسألة قانونية.

Java

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

Python

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