Gespeicherte Abfragen verwalten

Mit der gespeicherten Abfrage-API können Sie gespeicherte Abfragen in Vault programmatisch verwalten. Sie können eine gespeicherte Abfrage ausführen, um dieselben Ergebnisse oder zusätzliche, neuere Ergebnisse abzurufen, je nach den Kriterien der Abfrage. Wenn Ihre Abfrage beispielsweise ein Enddatum enthält, erhalten Sie dieselben Ergebnisse wie bei der ersten Ausführung der Abfrage. Enthält die Abfrage kein Enddatum, werden die ursprünglichen Ergebnisse und alle neuen Daten angezeigt, die den Suchkriterien entsprechen.

Sie können diese API in Skripts verwenden, die:

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

Damit Sie mit Vault-Ressourcen arbeiten können, muss das Konto die erforderlichen Vault-Berechtigungen und Zugriff auf die Rechtsangelegenheit haben. Um auf eine Rechtsangelegenheit zuzugreifen, muss das Konto diese erstellt haben, die Rechtsangelegenheit für sie freigegeben haben oder die Berechtigung Alle Rechtsangelegenheiten abrufen haben.

Gespeicherte Suchanfrage erstellen

Die folgenden Beispiele zeigen, wie Sie gespeicherte Abfragen für E-Mail-Nachrichten und Dateien in Drive erstellen:

E-Mail-App

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

Das folgende Beispiel zeigt, wie Sie eine gespeicherte Abfrage löschen.

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/pre>
  

Get a saved search query

The following example shows how to retrieve a saved query by its ID.

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 sehen Sie, 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()