ה-API של השאילתות השמורות מאפשר לנהל באופן פרוגרמטי שאילתות שמורות ב-Vault. אפשר להריץ שאילתה שמורה כדי לאחזר את אותן תוצאות או תוצאות חדשות יותר, בהתאם לקריטריונים של השאילתה. לדוגמה, אם השאילתה כוללת תאריך סיום, יוחזרו אותן תוצאות שהתקבלו כשהרצתם את השאילתה בפעם הראשונה. אם השאילתה לא כוללת תאריך סיום, יוצגו התוצאות המקוריות וגם נתונים חדשים שתואמים לקריטריונים לחיפוש.
אפשר להשתמש ב-API הזה בסקריפטים שמבצעים את הפעולות הבאות:
- יצירת שאילתה שמורה בעניין
- מחיקת שאילתה שמורה מפנייה
- אחזור של שאילתה שמורה מתוך פנייה
- אחזור של כל השאילתות השמורות בפנייה
כדי לעבוד עם משאבי 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()