ממשק ה-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()