Gespeicherte Abfragen verwalten

Mit der Saved Query API können Sie gespeicherte Abfragen programmatisch in Vault 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. Wenn die Abfrage kein Enddatum enthält, erhalten Sie die ursprünglichen Ergebnisse sowie alle neuen Daten, die den Suchkriterien entsprechen.

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

  • eine 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 arbeiten zu können, muss das Konto über die erforderlichen Vault-Funktionen Berechtigungen und Zugriff auf die ist wichtig. Damit Sie auf eine Rechtsangelegenheit zugreifen können, muss sie mit dem Konto erstellt worden sein und die Berechtigung die für sie freigegeben ist oder Ihnen die Berechtigung Alle Rechtsangelegenheiten abrufen erteilen kann.

Gespeicherte Suchanfrage erstellen

Die folgenden Beispiele zeigen, wie Sie gespeicherte Abfragen für E-Mail-Nachrichten und Dateien in 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

Das folgende Beispiel zeigt, 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

Das folgende Beispiel zeigt, wie Sie eine gespeicherte Abfrage anhand ihrer ID abrufen.

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

Das folgende Beispiel zeigt, 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()