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

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