Quản lý vấn đề

Vấn đề là một vùng chứa dữ liệu liên quan đến một chủ đề cụ thể, chẳng hạn như vụ kiện hoặc cuộc điều tra. Một vấn đề bao gồm những mục sau:

  • Cụm từ tìm kiếm đã lưu
  • Giữ
  • Các tài khoản được chia sẻ vấn đề
  • Xuất nhóm trang
  • Nhật ký kiểm tra

Để làm việc với các tài nguyên của Google Vault, tài khoản phải có các đặc quyền bắt buộc của Vault và quyền truy cập vào vụ việc. Để truy cập vào một vấn đề, tài khoản phải là tài khoản đã tạo vấn đề đó, được chia sẻ vấn đề đó hoặc có đặc quyền Xem tất cả vấn đề.

Một vấn đề có các trạng thái sau:

Tiểu bangMô tả
MởVấn đề đang hoạt động và bạn có thể tạo yêu cầu lưu giữ dữ liệu, chạy tìm kiếm và xuất dữ liệu trong vấn đề đó.
Đã đóngThông thường, khi một cuộc điều tra hoàn tất, vấn đề sẽ được khép lại. Bạn có thể mở lại các vấn đề đã đóng bất cứ lúc nào. Trước khi đóng một vấn đề, hãy xoá tất cả các yêu cầu lưu giữ dữ liệu liên quan đến vấn đề đó.
Đã xoáBạn có thể xoá một vấn đề để vấn đề đó hoàn toàn không còn tồn tại. Một vấn đề đã xoá sẽ nằm trong Thùng rác khoảng 30 ngày. Trong thời gian này, bạn có thể khôi phục vấn đề đó. Sau thời gian đó, vấn đề sẽ bị xoá vĩnh viễn. Bạn chỉ có thể xoá các vấn đề đã đóng.

vòng đời của vấn đề

Tạo vấn đề

Ví dụ sau đây tạo một vấn đề mới có tên và nội dung mô tả.

Java

Matter matter = new Matter();
matter.setName("Matter Name");
matter.setDescription("Matter Description");
Matter createdMatter = client.matters().create(matter).execute();
 

Python

def create_matter(service):
  matter_content = {
      'name': 'Matter Name',
      'description': 'Matter Description',
  }
  matter = service.matters().create(body=matter_content).execute()
  return matter

Nhận một vấn đề

Có hai chế độ xem của một vấn đề: BASIC (mặc định) và FULL. Chế độ xem FULL sẽ thêm quyền đối với thiết bị vào chế độ xem BASIC.

Ví dụ sau đây truy xuất vấn đề được chỉ định.

Java

client.matters().get(matterId).execute(); // Returns BASIC view.
client.matters().get(matterId).setView("BASIC").execute();
client.matters().get(matterId).setView("FULL").execute();

Python

matter_id = getMatterId()
service.matters().get(matterId=matter_id).execute(); // Returns BASIC view.
service.matters().get(matterId=matter_id, view='BASIC').execute();
service.matters().get(matterId=matter_id, view='FULL').execute();

Liệt kê các vấn đề

Ví dụ sau đây trình bày cách liệt kê tất cả các vấn đề đang mở, đã đóng và đã xoá. Theo mặc định, API này trả về tối đa 100 vấn đề cho mỗi yêu cầu.

Java

List mattersList = client.matters().list().execute().getMatters();

Python

mattersList = service.matters().list().execute()

Ví dụ sau đây minh hoạ cách liệt kê tất cả các vấn đề đang mở, đã đóng và đã xoá qua nhiều yêu cầu.

Java

ListMattersResponse firstPageResponse = client.matters().list().setPageSize(20).execute();

String nextPageToken = firstPageResponse.getNextPageToken();
if (nextPageToken != null) {
  client.matters().list().setPageToken(nextPageToken).setPageSize(20).execute();
}

Python

list_response1 = service.matters().list(
        view='FULL', pageSize=10).execute()
for matter in list_response1['matters']:
    print(matter)

if 'nextPageToken' in list_response1:
    list_response2 = service.matters().list(
        pageSize=10, pageToken=list_response1['nextPageToken']).execute()
    for matter in list_response2['matters']:
      print(matter)

Ví dụ sau đây cho biết cách liệt kê các vấn đề của một trạng thái cụ thể.

Java

// Only get open matters.
List openMattersList = client.matters().list().setState("OPEN")
    .execute().getMatters();

// Only get closed matters.
List closedMattersList = client.matters().list().setState("CLOSED")
    .execute().getMatters();

// Only get deleted matters.
List deletedMattersList = client.matters().list().setState("DELETED")
    .execute().getMatters();

Python

# Only get open matters.
openMattersList = client.matters().list(
    state='OPEN').execute()

# Only get closed matters.
closedMattersList = client.matters().list(
    state='CLOSED').execute()

# Only get deleted matters.
deletedMattersList = client.matters().list(
    state='DELETED').execute()

Cập nhật vấn đề

Ví dụ sau đây cập nhật tên và nội dung mô tả của một vấn đề.

Java

String matterId = "matterId";
Matter matter = new Matter().setName("New Name")
    .setDescription("New Description");
client.matters().update(matterId, matter).execute();

Python

def update_matter(service, matter_id):
    wanted_matter = {
        'name': 'New Matter Name',
        'description': 'New Description'
    }
    updated_matter = service.matters().update(
        matterId=matter_id, body=wanted_matter).execute()
    return updated_matter

Đóng vấn đề

Ví dụ sau đây cho thấy cách đóng một vấn đề.

Java

String matterId = "matterId";
// If the matter still has holds, this operation will fail.
client.matters().close(matterId, new CloseMatterRequest()).execute();
 

Python

def close_matter(service, matter_id):
    close_response = service.matters().close(
        matterId=matter_id, body={}).execute()
    return close_response['matter']
 

Xoá, huỷ xoá hoặc mở lại vấn đề

Ví dụ sau đây cho biết cách xoá, khôi phục hoặc mở lại một vấn đề.

Java

Matter matter = client.matters().get(matterId).execute();

// Delete the matter.
client.matters().delete(matter.getMatterId());
// Undelete the matter.
client.matters().undelete(matter.getMatterId(), new UndeleteRequest());
// Reopen the matter.
client.matters().reopen(matter.getMatterId(), new ReopenMatterRequest());
 

Python

def reopen_matter(service, matter_id):
    reopen_response = service.matters().reopen(
        matterId=matter_id, body={}).execute()
    return reopen_response['matter']

def delete_matter(service, matter_id):
    service.matters().delete(matterId=matter_id).execute()
    return get_matter(matter_id)

def undelete_matter(service, matter_id):
    undeleted_matter = service.matters().undelete(
        matterId=matter_id, body={}).execute()
    return undeleted_matter
 

Quyền đối với vấn đề

Mỗi vấn đề đều có một bộ quyền về những người có thể truy cập hoặc chỉnh sửa vấn đề đó. Bạn có thể xem thông tin này bằng cách xem chế độ xem FULL của một vấn đề.

Java

String matterId = "Matter Id";
String accountId = "Account Id";

// List permissions for a matter.
Matter matter = client.matters().get(matterId).setView("FULL").execute();
List matterPermissions = matter.getMatterPermissions();

// Add a user to the permission set.
client
    .matters()
    .addPermissions(matterId)
    .setMatterPermissionAccountId(accountId)
    .setMatterPermissionRole("COLLABORATOR")
    .execute();

// Remove a user from the permission set.
client
    .matters()
    .removePermissions(matterId)
    .setAccountId(accountId)
    .execute();

Python

def list_matter_permission(service, matter_id):
    matter = service.matters().get(matterId=matter_id, view='FULL').execute()
    return matter['matterPermissions']

def add_matter_permission(service, matter_id, account_id):
    permission = service.matters().addPermissions(
        matterId=matter_id,
        matterPermission_accountId=account_id,
        matterPermission_role='COLLABORATOR',
        sendEmails='False',
        ccMe='False').execute()
    return permission

def remove_matter_permission(service, matter_id, account_id):
    service.matters().removePermissions(
        matterId=matter_id, accountId=account_id).execute()