จัดการการระงับ

การคงไว้ชั่วคราวจะเก็บรักษาข้อมูลไว้อย่างไม่มีกำหนด ซึ่งอาจทำเพื่อให้เป็นไปตามภาระหน้าที่ทางกฎหมายหรือการเก็บรักษาก็ได้ โดยปกติแล้ว การคงไว้ชั่วคราวจะมีผลกับผู้ใช้รายเดียวหรือหลายรายเพื่อให้มั่นใจว่าระบบจะไม่ลบข้อมูลที่เกี่ยวข้องกับเรื่องใดเรื่องหนึ่งจนกว่าเรื่องนั้นจะไม่มีผลอีกต่อไป

หากผู้ใช้ที่ต้องเก็บรักษาข้อมูลไว้ลบข้อมูลที่เก็บรักษาไว้ ระบบจะนำข้อมูลดังกล่าวออกจากการแสดงผลของผู้ใช้ แต่จะยังเก็บข้อมูลไว้ใน Google ห้องนิรภัย ผู้ดูแลระบบห้องนิรภัยจะค้นหาและส่งออกข้อมูลได้ตราบเท่าที่ยังมีการคงไว้ชั่วคราว

การระงับมีองค์ประกอบต่อไปนี้

  • บริการ แอปพลิเคชันที่รับผิดชอบในการเก็บรักษาข้อมูล คุณตั้งค่าบริการเป็นอีเมล ไดรฟ์ หรือ Groups ได้
  • ขอบเขต เอนทิตีที่อยู่ภายใต้การระงับ โดยสามารถกำหนดขอบเขตเป็นบัญชีผู้ใช้ 1 บัญชีขึ้นไป หรือเป็นหน่วยขององค์กร (OU)
  • ตัวเลือกเพิ่มเติม (ไม่บังคับ) รายละเอียดที่เฉพาะเจาะจง (คำค้นหาหรือตัวเลือกการกำหนดค่า) ที่ใช้เพื่อจำกัดข้อมูลที่จะเก็บไว้ภายในขอบเขตที่กำหนด โดยมีตัวเลือกดังนี้
    • อีเมล, กลุ่ม: คำค้นหาเพื่อจำกัดขอบเขตการระงับ
    • ไดรฟ์: รวมไดรฟ์ที่แชร์ในการระงับ

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

สร้างการระงับสำหรับอีเมลในบัญชีผู้ใช้ที่เฉพาะเจาะจงด้วยคำค้นหา

ตัวอย่างต่อไปนี้แสดงวิธีสร้างการระงับชื่อ "การระงับบัญชีอีเมลแรกของฉัน" สำหรับ

  • บริการ: mail
  • เอนทิตี: บัญชีผู้ใช้ "user1" และ "user2"
  • ตัวเลือกเพิ่มเติม: คำค้นหา "ถึง:ceo@company.com"

ดึงรหัสบัญชีผู้ใช้จาก Directory API HeldAccount สามารถใช้รหัสบัญชีหรืออีเมลได้ หากระบุทั้ง 2 อย่าง ระบบจะใช้อีเมลและไม่สนใจรหัสบัญชี

Java

HeldMailQuery mailQuery = new HeldMailQuery().setTerms("to:ceo@company.com");
List accounts = Lists.newArrayList();
accounts.add(new HeldAccount().setAccountId(user1accountId));
accounts.add(new HeldAccount().setEmail(user2Email));
Hold hold = new Hold()
    .setName("My First mail Accounts Hold")
    .setCorpus("MAIL");
    .setQuery(new CorpusQuery().setMailQuery(mailQuery))
    .setAccounts(accounts);
Hold createdHold = client.matters().holds().create(matterId, hold).execute();
  

Python

def create_hold_mail_accounts(service, matter_id, account_id):
    mail_query = {'terms': 'to:ceo@company.com'}
    accounts = [
        {'accountId': user1_account_id},
        {'email': user2_email}
    ]
    wanted_hold = {
        'name': 'My First mail Accounts Hold',
        'corpus': 'MAIL',
        'query': {
            'mailQuery': mail_query
        },
        'accounts': accounts
    }
    return service.matters().holds().create(
        matterId=matter_id, body=wanted_hold).execute()

สร้างการระงับสำหรับไดรฟ์ใน OU และรวมเนื้อหาในไดรฟ์ที่แชร์

ตัวอย่างต่อไปนี้แสดงวิธีสร้างการระงับชื่อ "My First Drive OU Hold" สำหรับรายการต่อไปนี้

  • บริการ: ไดรฟ์
  • เอนทิตี: หน่วยขององค์กร "การเงิน" (รหัส OU จะบันทึกใน orgUnitId)
  • ตัวเลือกเพิ่มเติม: รวมไดรฟ์ที่แชร์ที่ผู้ใช้ในหน่วยขององค์กรนี้เป็นสมาชิก

ดึงข้อมูลรหัสหน่วยขององค์กรจาก Directory API

Java

HeldOrgUnit orgUnit = new HeldOrgUnit().setOrgUnitId(orgUnitId);
// Include shared drives content.
HeldDriveQuery driveQuery = new HeldDriveQuery().setIncludeSharedDriveFiles(true);
// Create the hold.
Hold hold = new Hold()
    .setName("My First Drive OU Hold")
    .setCorpus("DRIVE")
    .setQuery(new CorpusQuery().setDriveQuery(driveQuery))
    .setOrgUnit(orgUnit);
Hold createdHold = client.matters().holds().create(matterId, hold).execute();
return createdHold;

Python

def create_hold_drive_org(service, matter_id, org_unit_id):
    drive_query = {'includeSharedDriveFiles': True}
    org_unit = {'orgUnitId': org_unit_id}
    wanted_hold = {
        'name': 'My First Drive OU Hold',
        'corpus': 'DRIVE',
        'orgUnit': org_unit,
        'query': {
            'driveQuery': drive_query
        }
    }
    return service.matters().holds().create(
        matterId=matter_id, body=wanted_hold).execute()

สร้างการคงไว้ชั่วคราวสำหรับกลุ่มในบัญชีกลุ่มที่เฉพาะเจาะจงโดยมีช่วงวันที่

ตัวอย่างต่อไปนี้แสดงวิธีสร้างการระงับชื่อ "การระงับกลุ่มแรกของฉัน" สำหรับรายการต่อไปนี้

  • บริการ: Groups
  • เอนทิตี: บัญชีกลุ่ม "group1" และ "group2"
  • ตัวเลือกเพิ่มเติม: คงเฉพาะข้อความที่มีวันที่ส่งระหว่าง "startTime" และ "endTime" ไว้ชั่วคราว

ดึงรหัสบัญชีกลุ่มจาก Directory API

Java

String APRIL_2_2017_GMT = "2017-04-02T00:00:00Z"; // See below for format*.
 
List accounts = Lists.newArrayList();
accounts.add(new HeldAccount().setAccountId(accountId));
accounts.add(new HeldAccount().setAccountId(accountId2));
HeldGroupsQuery groupQuery = new HeldGroupsQuery();
// Restrict by sent date.
groupQuery.setStartTime(APRIL_2_2017_GMT);
groupQuery.setEndTime(APRIL_2_2017_GMT);
// create the hold
Hold hold = new Hold()
    .setName("My First Group Hold")
    .setCorpus("GROUPS")
    .setQuery(new CorpusQuery().setGroupsQuery(groupQuery));
    hold.setAccounts(accounts);
Hold createdHold = client.matters().holds().create(matterId, hold).execute();
 

Python

def create_hold_groups_date_range(service, matter_id, group_account_id):
    groups_query = {
        'startTime': '2017-04-02T00:00:00Z', # See below for format*
        'endTime': '2017-04-02T00:00:00Z'
    }
    accounts = [{'accountId': group_account_id}]
    wanted_hold = {
        'name': 'My First Group Hold',
        'corpus': 'GROUPS',
        'query': {
            'groupsQuery': groups_query
        },
        'accounts': accounts
    }
    return service.matters().holds().create(
        matterId=matter_id, body=wanted_hold).execute()
 

ค้นหาและแก้ไขการระงับที่มีอยู่

ตัวอย่างต่อไปนี้แสดงวิธีแสดงบัญชีทั้งหมดที่รวมอยู่ในการระงับ

Java

client.matters().holds().accounts().list(matterId, holdId).execute().getAccounts();

Python

# If no accounts are on hold, ['accounts'] will raise an error.
def list_held_accounts(service, matter_id, hold_id):
    return service.matters().holds().accounts().list(
        matterId=matter_id, holdId=hold_id).execute()['accounts'] 

ตัวอย่างต่อไปนี้แสดงวิธีเพิ่มและนำบัญชีออกจากสถานะระงับ

Java

// Add an account by ID.
client
        .matters()
        .holds()
        .accounts()
        .create(matterId, holdId, new HeldAccount().setAccountId(accountId))
        .execute();
// Remove an account by ID.
client.matters().holds().accounts().delete(matterId, holdId, accountId).execute();

String email = "email@email.com";
// Add an account by email.
client
        .matters()
        .holds()
        .accounts()
        .create(matterId, holdId, new HeldAccount().setEmail(email))
        .execute();

Python

def add_held_account(service, matter_id, hold_id, account_id):
    held_account = {'accountId': account_id}
    return service.matters().holds().accounts().create(
        matterId=matter_id, holdId=hold_id, body=held_account).execute()

def remove_held_account(service, matter_id, hold_id, account_id):
    return service.matters().holds().accounts().delete(
        matterId=matter_id, holdId=hold_id, accountId=account_id).execute()

def add_held_account(service, matter_id, hold_id, email):
    held_account = {'email': email}
    return service.matters().holds().accounts().create(
        matterId=matter_id, holdId=hold_id, body=held_account).execute()
 

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

Java

Hold hold = client.matters().holds().get(matterId, holdId).execute();
hold.getOrgUnit().setOrgUnitId(newOrgUnitId);
Hold modifiedHold = client.matters().holds().update(matterId, holdId, hold).execute();
return modifiedHold;
 

Python

def update_hold_ou(service, matter_id, hold_id, org_unit_id):
    current_hold = get_hold(matter_id, hold_id)
    current_hold['orgUnit'] = {'orgUnitId': org_unit_id}
    return service.matters().holds().update(
        matterId=matter_id, holdId=hold_id, body=current_hold).execute() 

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

Java

String matterId = "Matter Id";

// List all holds.
List holdsList =
    client.matters().holds().list(matterId).execute().getHolds();

// Paginate on holds.
ListHoldsResponse response = client
        .matters()
        .holds()
        .list(matterId)
        .setPageSize(10)
        .execute();

String nextPageToken = response.getNextPageToken();
if (nextPageToken != null) {
    client
        .matters()
        .holds()
        .list(matterId)
        .setPageSize(10)
        .setPageToken(nextPageToken)
        .execute();
}
  

Python

# This can paginate in the same manner as with matters.
def list_holds(service, matter_id):
    return service.matters().holds().list(matterId=matter_id).execute()