Оптимизируйте свои подборки
Сохраняйте и классифицируйте контент в соответствии со своими настройками.
API сохранённых запросов позволяет программно управлять сохранёнными запросами в Vault. Вы можете запустить сохранённый запрос для получения тех же результатов или дополнительных, более новых результатов, в зависимости от условий запроса. Например, если запрос содержит конечную дату, вы получите те же результаты, что и при первом запуске запроса. Если запрос не содержит конечной даты, вы получите исходные результаты и любые новые данные, соответствующие критериям поиска.
Вы можете использовать этот API в скриптах, которые:
создать сохраненный запрос в деле
удалить сохраненный запрос из дела
извлечь сохраненный запрос из дела
получить все сохраненные запросы из дела
Для работы с ресурсами Vault у учётной записи должны быть необходимые привилегии Vault и доступ к делу. Для доступа к делу у учётной записи должна быть возможность создать дело, предоставить доступ к делу или иметь право « Просмотр всех дел» .
Создать сохраненный поисковый запрос
В следующих примерах показано, как создавать сохраненные запросы для почтовых сообщений и файлов на Диске:
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();}}
Питон
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()
Удалить сохраненный поисковый запрос
В следующем примере показано, как удалить сохраненный запрос.
[null,null,["Последнее обновление: 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```"]]