تتيح لك واجهة برمجة التطبيقات الخاصة بطلبات البحث المحفوظة إدارة طلبات البحث المحفوظة آليًا في Google Vault. يمكنك تشغيل طلب بحث محفوظ لاسترجاع النتائج نفسها أو نتائج إضافية أحدث، وذلك حسب معايير طلب البحث. على سبيل المثال، إذا كان طلب البحث يتضمن تاريخ انتهاء، ستسترجع النتائج نفسها التي ظهرت عند تشغيل طلب البحث لأول مرة. إذا لم يتضمّن طلب البحث تاريخ انتهاء، ستظهر لك النتائج الأصلية بالإضافة إلى أي بيانات جديدة تستوفي معايير البحث.
لا يحتفظ طلب البحث المحفوظ بالرسائل والملفات التي تم إنشاؤها من خلال طلب البحث، بل يحفظ معلمات البحث فقط. يجب تصدير نتائج البحث للاحتفاظ بالرسائل والملفات بحالتها الحالية.
يمكنك استخدام واجهة برمجة التطبيقات هذه في النصوص البرمجية التي تنفّذ المهام التالية:
- إنشاء طلب بحث محفوظ في مسألة قانونية
- حذف طلب بحث محفوظ من مسألة قانونية
- استرداد طلب بحث محفوظ من مسألة قانونية
- استرداد جميع طلبات البحث المحفوظة من مسألة قانونية
لاستخدام موارد Vault، يجب أن يتوفّر في الحساب امتيازات Vault المطلوبة وإذن الوصول إلى المسألة القانونية. للوصول إلى مسألة قانونية، يجب أن يكون الحساب قد أنشأ المسألة القانونية أو تمت مشاركتها معه أو أن يكون لديه امتياز عرض جميع المسائل القانونية.
إنشاء طلب بحث محفوظ
توضّح الأمثلة التالية كيفية إنشاء طلبات بحث محفوظة لرسائل البريد الإلكتروني والملفات في Google 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(); }
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
جافا
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()
حذف طلب بحث محفوظ
يوضّح المثال التالي كيفية حذف طلب بحث محفوظ.
جافا
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
الحصول على طلب بحث محفوظ
يوضّح المثال التالي كيفية استرداد طلب بحث محفوظ باستخدام معرّفه.
جافا
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
إدراج طلبات البحث المحفوظة في مسألة قانونية
يوضّح المثال التالي كيفية إدراج طلبات البحث المحفوظة في إحدى القضايا.
جافا
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()