Gespeicherte Abfragen verwalten

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 je nach den Kriterien der Abfrage dieselben oder zusätzliche, neuere Ergebnisse abzurufen. Wenn Ihre Suchabfrage 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 beibehalten, sondern nur die Suchparameter gespeichert. Sie müssen die Suchergebnisse exportieren, um Nachrichten und Dateien in ihrem aktuellen Zustand zu erhalten.

Sie können diese API in Skripts verwenden, die die folgenden Aufgaben ausführen:

  • Gespeicherte Abfrage in einer Rechtsangelegenheit erstellen
  • Gespeicherte Abfrage aus einer Rechtsangelegenheit löschen
  • Gespeicherte Abfrage aus einer Rechtsangelegenheit abrufen
  • Alle gespeicherten Abfragen aus einer Rechtsangelegenheit abrufen

Um mit Vault-Ressourcen zu arbeiten, muss ein Konto die erforderlichen Vault-Berechtigungen und Zugriff auf die Rechtsangelegenheit haben. Für den Zugriff auf eine Rechtsangelegenheit muss ein Konto 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

In den folgenden Beispielen wird gezeigt, wie Sie gespeicherte Abfragen für E‑Mail-Nachrichten 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 einer Rechtsangelegenheit auflisten

Im folgenden Beispiel wird gezeigt, wie die gespeicherten Abfragen einer Rechtsangelegenheit 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()