จัดการการค้นหาที่บันทึกไว้

Saved Query API ช่วยให้คุณจัดการการค้นหาที่บันทึกไว้ในห้องนิรภัยแบบเป็นโปรแกรมได้ คุณสามารถเรียกใช้การค้นหาที่บันทึกไว้เพื่อเรียกข้อมูลเดียวกันหรือผลการค้นหาเพิ่มเติมที่ใหม่กว่า ทั้งนี้ขึ้นอยู่กับเกณฑ์การค้นหา ตัวอย่างเช่น หากการค้นหามีวันที่สิ้นสุด คุณจะเรียกดูผลลัพธ์เดียวกันกับตอนที่เรียกใช้การค้นหาครั้งแรก หากการค้นหาไม่รวมวันที่สิ้นสุด คุณจะได้รับผลลัพธ์เดิมและข้อมูลใหม่ที่ตรงกับเกณฑ์การค้นหา

คุณใช้ API นี้ในสคริปต์ที่มีลักษณะต่อไปนี้ได้

  • สร้างการค้นหาที่บันทึกไว้ในเคส
  • ลบการค้นหาที่บันทึกไว้ออกจากเคส
  • เรียกข้อมูลคำค้นหาที่บันทึกไว้จากเรื่อง
  • เรียกข้อมูลคำค้นหาที่บันทึกไว้ทั้งหมดจากเรื่อง

หากต้องการทำงานกับทรัพยากรในห้องนิรภัย บัญชีต้องมีสิทธิ์ที่จําเป็นสําหรับห้องนิรภัยและการเข้าถึงเรื่อง หากต้องการเข้าถึงเคส บัญชีต้องเป็นผู้สร้างเคส มีเคสที่แชร์กับตน หรือมีสิทธิ์ดูเคสทั้งหมด

สร้างคําค้นหาที่บันทึกไว้

ตัวอย่างต่อไปนี้แสดงวิธีสร้างการค้นหาที่บันทึกไว้สำหรับข้อความอีเมลและไฟล์ในไดรฟ์

อีเมล

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

ไดรฟ์

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