Mit der API für gespeicherte Abfragen können Sie gespeicherte Abfragen in Google Vault programmatisch verwalten. Sie können eine gespeicherte Abfrage ausführen, um dieselben oder zusätzliche, neuere Ergebnisse abzurufen, je nach den Kriterien der Abfrage. Wenn Ihre Suchanfrage beispielsweise ein Enddatum enthält, erhalten Sie dieselben Ergebnisse wie beim ersten Ausführen der Abfrage. Ohne ein Enddatum werden alle ursprünglichen Ergebnisse sowie neue Daten ausgegeben, die den Suchkriterien entsprechen.
Bei einer gespeicherten Abfrage werden die durch die Abfrage generierten Nachrichten und Dateien nicht gespeichert, sondern nur die Suchparameter. Sie müssen Suchergebnisse exportieren, um Nachrichten und Dateien in ihrem aktuellen Zustand zu erhalten.
Sie können diese API in Scripts verwenden, die die folgenden Aufgaben ausführen:
- Erstellen Sie eine gespeicherte Abfrage in einer Rechtsangelegenheit.
- Gespeicherte Abfragen aus einem Fall löschen
- Gespeicherte Abfrage aus einem Fall abrufen
- Alle gespeicherten Abfragen aus einem Fall abrufen.
Um mit Vault-Ressourcen zu arbeiten, muss ein Konto die erforderlichen Vault-Berechtigungen und Zugriff auf die Rechtsangelegenheit haben. Damit ein Konto auf eine Rechtsangelegenheit zugreifen kann, muss es die Rechtsangelegenheit erstellt haben, die Rechtsangelegenheit muss für das Konto freigegeben worden sein oder das Konto muss die Berechtigung Alle Rechtsangelegenheiten abrufen haben.
Gespeicherte Suchanfrage erstellen
Die folgenden Beispiele zeigen, wie Sie gespeicherte Abfragen für E‑Mails und für Dateien in Google Drive erstellen:
E‑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()
Drive
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()
Gespeicherte Suchanfrage löschen
Im folgenden Beispiel wird gezeigt, wie eine gespeicherte Abfrage gelöscht wird.
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
Gespeicherte Suchanfrage abrufen
Im folgenden Beispiel wird gezeigt, wie eine gespeicherte Abfrage anhand ihrer ID abgerufen wird.
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
Gespeicherte Abfragen in einem Fall auflisten
Im folgenden Beispiel wird gezeigt, wie die gespeicherten Abfragen eines Falls aufgelistet werden.
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()