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