API truy vấn đã lưu cho phép bạn quản lý các truy vấn đã lưu trong Vault theo phương thức lập trình. Bạn có thể chạy truy vấn đã lưu để truy xuất cùng một kết quả hoặc kết quả bổ sung mới hơn, tuỳ thuộc vào tiêu chí của truy vấn. Ví dụ: nếu truy vấn của bạn bao gồm ngày kết thúc, bạn sẽ truy xuất kết quả giống như khi bạn chạy truy vấn lần đầu tiên. Nếu cụm từ tìm kiếm không có ngày kết thúc, bạn sẽ nhận được kết quả ban đầu cùng với mọi dữ liệu mới đáp ứng tiêu chí tìm kiếm.
Bạn có thể sử dụng API này trong các tập lệnh:
- tạo một truy vấn đã lưu trong một vấn đề
- xoá truy vấn đã lưu khỏi một vấn đề
- truy xuất truy vấn đã lưu từ một vấn đề
- truy xuất tất cả truy vấn đã lưu từ một vấn đề
Để làm việc với các tài nguyên của Vault, tài khoản phải có các đặc quyền bắt buộc của Vault và quyền truy cập vào vấn đề. Để truy cập vào một vấn đề, tài khoản đó phải là người đã tạo vấn đề, đã chia sẻ vấn đề đó với họ hoặc có đặc quyền Xem tất cả vấn đề.
Tạo cụm từ tìm kiếm đã lưu
Các ví dụ sau đây minh hoạ cách tạo truy vấn đã lưu cho thư và tệp trong 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()
Lái xe
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()
Xoá cụm từ tìm kiếm đã lưu
Ví dụ sau đây trình bày cách xoá truy vấn đã lưu.
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/pre>
Get a saved search query
The following example shows how to retrieve a saved query by its ID.
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
Liệt kê các truy vấn đã lưu trong một vấn đề
Ví dụ sau đây trình bày cách liệt kê các cụm từ tìm kiếm đã lưu của một vấn đề.
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()