Quản lý truy vấn đã lưu

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ó Vault bắt buộc đặc quyền và quyền truy cập vào rất quan trọng. Để truy cập một vấn đề, tài khoản phải là người tạo vấn đề, có vấn đề được chia sẻ 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:

Mail

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 cho thấ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

Lấy cụm từ tìm kiếm đã lưu

Ví dụ sau đây cho thấy cách truy xuất truy vấn đã lưu theo mã nhận dạng.

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 cho thấy cách liệt kê các truy vấn đã 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()