تتيح لك واجهة برمجة التطبيقات Saved Query API إدارة طلبات البحث المحفوظة في 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()