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 một truy vấn đã lưu để truy xuất các kết quả tương tự hoặc các kết quả 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, thì bạn sẽ truy xuất kết quả tương tự như khi chạy truy vấn lần đầu tiên. Nếu truy vấn không bao gồm 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 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ả cụm từ tìm kiếm đã lưu từ một vấn đề

Để xử lý các tài nguyên trong Vault, tài khoản phải có các đặc quyền bắt buộc đối với 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 đề, được chia sẻ vấn đề hoặc có đặc quyền Xem tất cả vấn đề.

Tạo truy vấn tìm kiếm đã lưu

Các ví dụ sau đây cho biết cách tạo truy vấn đã lưu cho thư và cho 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á một 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 của truy vấn đó.

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 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()