Sử dụng bộ sưu tập để sắp xếp ngăn nắp các trang
Lưu và phân loại nội dung dựa trên lựa chọn ưu tiên của bạn.
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 có ngày kết thúc, thì bạn sẽ truy xuất được kết quả giống như khi bạn chạy truy vấn lần đầu. Nếu truy vấn 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 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 mộ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 đề
Để sử dụng 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 đố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à tài khoản đã tạo vấn đề đó, được chia sẻ vấn đề đó hoặc có đặc quyền Xem tất cả vấn đề.
Tạo một cụm từ tìm kiếm đã lưu
Các ví dụ sau đây cho thấy cách tạo truy vấn đã lưu cho thư và cho tệp trong Drive:
publicSavedQuerycreateDriveAllDataOUSavedQuery(StringmatterId)throwsException{OrgUnitInfoouToSearch=newOrgUnitInfo().setOrgUnitId("ou id retrieved from admin sdk");DriveOptionsdriveQueryOptions=newDriveOptions().setIncludeTeamDrives(true);QuerydriveQuery=newQuery().setCorpus("DRIVE").setDataScope("ALL_DATA").setSearchMethod("ORG_UNIT").setOrgUnitInfo(ouToSearch).setDriveOptions(driveQueryOptions);SavedQuerysavedQuery=newSavedQuery().setDisplayName("NEW SAVED QUERY NAME").setQuery(driveQuery);returnclient.matters().savedQueries().create(matterId,savedQuery).execute();}}
Python
defcreate_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,}returnself.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 minh hoạ cách xoá một truy vấn đã lưu.
[null,null,["Cập nhật lần gần đây nhất: 2025-08-29 UTC."],[],[],null,["# Manage saved queries\n\nThe saved query API lets you programmatically manage saved queries in Vault. You can run a saved query to retrieve the same results or additional, newer results, depending on the criteria of the query. For example, if your query includes an end date, you'll retrieve the same results you did when you first ran the query. If the query doesn't include an end date, you'll get your original results plus any new data that meets the search criteria.\n| **Note:** A saved query doesn't preserve the messages and files generated by the query; it only saves the search parameters. You must export search results to preserve messages and files in their current state.\n\nYou can use this API in scripts that:\n\n- create a saved query in a matter\n- delete saved query from a matter\n- retrieve a saved query from a matter\n- retrieve all saved queries from a matter\n\nTo work with Vault resources, the account must have the [required Vault\nprivileges](https://support.google.com/vault/answer/2799699) and access to the\nmatter. To access a matter, the account must have created the matter, have the\nmatter shared with them, or have the **View All Matters** privilege.\n\nCreate a saved search query\n---------------------------\n\nThe following examples show how to create saved queries for mail messages and for files in Drive:\n\n#### Mail\n\n### Java\n\n```java\npublic SavedQuery createMailAllDataAccountSavedQuery(String matterId) throws Exception {\n AccountInfo emailsToSearch =\n new AccountInfo().setEmails((ImmutableList.of(\"email1\", \"email2\")));\n MailOptions mailOptions = new MailOptions().setExcludeDrafts(true);\n String queryTerms = \"to:ceo@solarmora.com\";\n Query mailQuery =\n new Query()\n .setCorpus(\"MAIL\")\n .setDataScope(\"ALL_DATA\")\n .setSearchMethod(\"ACCOUNT\")\n .setAccountInfo(emailsToSearch)\n .setTerms(queryTerms)\n .setMailOptions(mailOptions);\n SavedQuery savedQuery =\n new SavedQuery()\n .setDisplayName(\"NEW SAVED QUERY NAME\")\n .setQuery(mailQuery);\n return client.matters().savedQueries().create(matterId, savedQuery).execute();\n} \n```\n\n### Python\n\n```python\ndef create_mail_all_data_account_saved_query(self, matter_id):\n emails_to_search = ['email1', 'email2']\n mail_query_options = {'excludeDrafts': True}\n query_terms = 'to:ceo@solarmora.com'\n mail_query = {\n 'corpus': 'MAIL',\n 'dataScope': 'ALL_DATA',\n 'searchMethod': 'ACCOUNT',\n 'accountInfo': {\n 'emails': emails_to_search\n },\n 'terms': query_terms,\n 'mailOptions': mail_query_options,\n }\n saved_query = {\n 'displayName': 'NEW SAVED QUERY NAME',\n 'query': mail_query,\n }\n return self.service.matters().savedQueries().create(\n matterId=matter_id, body=saved_query).execute()\n```\n\n#### Drive\n\n### Java\n\n```java\npublic SavedQuery createDriveAllDataOUSavedQuery(String matterId) throws Exception {\n OrgUnitInfo ouToSearch = new OrgUnitInfo().setOrgUnitId(\"ou id retrieved from admin sdk\");\n DriveOptions driveQueryOptions = new DriveOptions().setIncludeTeamDrives(true);\n Query driveQuery =\n new Query()\n .setCorpus(\"DRIVE\")\n .setDataScope(\"ALL_DATA\")\n .setSearchMethod(\"ORG_UNIT\")\n .setOrgUnitInfo(ouToSearch)\n .setDriveOptions(driveQueryOptions);\n SavedQuery savedQuery =\n new SavedQuery()\n .setDisplayName(\"NEW SAVED QUERY NAME\")\n .setQuery(driveQuery);\n return client.matters().savedQueries().create(matterId, savedQuery).execute();\n }\n} \n```\n\n### Python\n\n```python\ndef create_drive_all_data_ou_saved_query(self, matter_id):\n ou_to_search = 'ou id retrieved from admin sdk'\n drive_query_options = {'includeTeamDrives': True}\n drive_query = {\n 'corpus': 'DRIVE',\n 'dataScope': 'ALL_DATA',\n 'searchMethod': 'ORG_UNIT',\n 'orgUnitInfo': {\n 'org_unit_id': ou_to_search,\n },\n 'driveOptions': drive_query_options\n }\n saved_query = {\n 'displayName': 'NEW SAVED QUERY NAME',\n 'query': drive_query,\n }\n return self.service.matters().savedQueries().create(\n matterId=matter_id, body=saved_query).execute()\n```\n\nDelete a saved search query\n---------------------------\n\nThe following example shows how to delete a saved query. \n\n### Java\n\n```java\npublic Empty deleteSavedQuery(String matterId, String savedQueryId) throws Exception {\n return client.matters().savedQueries().delete(matterId, savedQueryId).execute();\n} \n```\n\n### Python\n\n```python\ndef delete_saved_query(self, matter_id, saved_query_id):\n empty_response = self.service.matters().savedQueries().delete(\n matterId=matter_id, savedQueryId=saved_query_id).execute()\n return empty_response\n```\n\nGet a saved search query\n------------------------\n\nThe following example shows how to retrieve a saved query by its ID. \n\n### Java\n\n```java\npublic SavedQuery getSavedQuery(String matterId, String savedQueryId) throws Exception {\n return client.matters().savedQueries().get(matterId, savedQueryId).execute();\n} \n```\n\n### Python\n\n```python\ndef get_saved_query(self, matter_id, saved_query_id):\n saved_query = self.service.matters().savedQueries().get(\n matterId=matter_id, savedQueryId=saved_query_id).execute()\n return saved_query\n```\n\nList saved queries in a matter\n------------------------------\n\nThe following example shows how to list a matter's saved queries. \n\n### Java\n\n```java\npublic void listSavedQueries(String matterId) throws Exception {\n ListSavedQueriesResponse firstPageResponse =\n client.matters().savedQueries().list(matterId).setPageSize(10).execute();\n String nextPageToken = firstPageResponse.getNextPageToken();\n if (nextPageToken != null) {\n client\n .matters()\n .savedQueries()\n .list(matterId)\n .setPageSize(10)\n .setPageToken(nextPageToken)\n .execute();\n }\n} \n```\n\n### Python\n\n```python\ndef list_saved_queries(self, matter_id):\n first_page_response = self.service.matters().savedQueries().list(\n matterId=matter_id, pageSize=10).execute()\n if 'nextPageToken' in first_page_response:\n self.service.matters().savedQueries().list(\n pageSize=10,\n pageToken=first_page_response['nextPageToken']).execute() \n```"]]