ניהול השאילתות השמורות

ה-API של שאילתות שמורות מאפשר לכם לנהל באופן פרוגרמטי שאילתות שמורות ב-Google Vault. אתם יכולים להריץ שאילתה שמורה כדי לאחזר את אותן תוצאות או תוצאות נוספות חדשות יותר, בהתאם לקריטריונים של השאילתה. לדוגמה, אם השאילתה כוללת תאריך סיום, תקבלו את אותן תוצאות כמו בפעם הראשונה שהרצתם את השאילתה. אם השאילתה לא כוללת תאריך סיום, תקבלו את התוצאות המקוריות בתוספת נתונים חדשים שעומדים בקריטריוני החיפוש.

שאילתה שמורה לא שומרת את ההודעות והקבצים שהופקו על ידי השאילתה, אלא רק את פרמטרי החיפוש. כדי לשמור את ההודעות והקבצים במצב הנוכחי שלהם, צריך לייצא את תוצאות החיפוש.

אפשר להשתמש ב-API הזה בסקריפטים שמבצעים את המשימות הבאות:

  • יוצרים שאילתה שמורה בעניין.
  • מחיקת שאילתה שמורה מתיק.
  • אחזור שאילתה שמורה מתיק משפטי.
  • אחזור של כל השאילתות השמורות מתיק משפטי.

כדי לעבוד עם משאבים ב-Vault, לחשבון צריכות להיות הרשאות Vault הנדרשות וגישה לנושא. כדי לגשת לתיק, החשבון צריך ליצור את התיק, לקבל שיתוף של התיק או לקבל את ההרשאה View All Matters.

יצירת שאילתת חיפוש שמורה

בדוגמאות הבאות מוסבר איך ליצור שאילתות שמורות להודעות אימייל ולקבצים ב-Google Drive:

דואר

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()

מחיקת שאילתת חיפוש שמורה

בדוגמה הבאה אפשר לראות איך מוחקים שאילתה שמורה.

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

קבלת שאילתת חיפוש שמורה

בדוגמה הבאה אפשר לראות איך מאחזרים שאילתה שמורה לפי המזהה שלה.

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

הצגת רשימה של שאילתות שמורות בעניין

בדוגמה הבאה אפשר לראות איך מציגים רשימה של שאילתות שמורות בנושא מסוים.

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()