Thêm và xoá cộng tác viên có quyền trong ghi chú
Sử dụng bộ sưu tập để sắp xếp ngăn nắp các trang
Lưu và phân loại nội dung dựa trên lựa chọn ưu tiên của bạn.
Người tạo ghi chú là chủ sở hữu của ghi chú đó. Chủ sở hữu có thể thêm các cộng tác viên khác bằng cách sử dụng quyền được cấp cho từng người dùng hoặc nhóm.
Cộng tác viên sẽ có quyền chỉnh sửa ghi chú. Bạn cũng có thể thu hồi quyền của cộng tác viên bằng API. Trang này giải thích cách thêm và xoá cộng tác viên bằng quyền.
Thêm quyền để thêm cộng tác viên
Mẫu sau đây cho biết cách sử dụng quyền trên một người dùng hoặc nhóm để thêm cộng tác viên vào ghi chú:
REST
Gọi notes.permissions.batchCreate() với ghi chú mẹ được chỉ định quyền và permission
. Xin lưu ý rằng bạn chỉ có thể chỉ định vai trò WRITER
cho thành viên (người dùng, nhóm).
Java
/**
* Grants write access to a user and to a Google group for the given note.
*
* @param note The note whose permissions will be updated.
* @param userEmail Email address of the user that will be added to the permissions of the note.
* @param groupEmail Email address of the Google group that will be added to the permissions of
* the note.
* @throws IOException
* @return The response of the create permissions request.
*/
private BatchCreatePermissionsResponse addPermissions(
Note note, String userEmail, String groupEmail) throws IOException {
String noteName = note.getName();
CreatePermissionRequest userPermission =
new CreatePermissionRequest()
.setParent(noteName)
.setPermission(new Permission().setEmail(userEmail).setRole("WRITER"));
CreatePermissionRequest groupPermission =
new CreatePermissionRequest()
.setParent(noteName)
.setPermission(new Permission().setEmail(groupEmail).setRole("WRITER"));
BatchCreatePermissionsRequest batchCreatePermissionsRequest =
new BatchCreatePermissionsRequest()
.setRequests(Arrays.asList(userPermission, groupPermission));
return keepService
.notes()
.permissions()
.batchCreate(noteName, batchCreatePermissionsRequest)
.execute();
}
Thu hồi quyền để xoá cộng tác viên
Mẫu sau đây cho biết cách sử dụng quyền để xoá tất cả cộng tác viên khỏi một ghi chú:
Java
/**
* Deletes all permissions of a given note excluding the owner. Owner of the note cannot be
* removed from a note's permissions.
*
* @param note The note whose permissions will be deleted.
* @throws IOException
*/
private void deletePermissions(Note note) throws IOException {
List<Permission> notePermissions =
keepService.notes().get(note.getName()).execute().getPermissions();
// List of users, groups or families that will be deleted from the permissions of the note.
List<String> permissionsToDelete = new ArrayList<>();
for (Permission permission : notePermissions) {
// Note owner cannot be removed from the permissions of the note. Trying to remove the note
// owner from the permissions will cause an exception.
if (!permission.getRole().equals("OWNER")) {
permissionsToDelete.add(permission.getName());
}
}
keepService
.notes()
.permissions()
.batchDelete(
note.getName(), new BatchDeletePermissionsRequest().setNames(permissionsToDelete))
.execute();
}
Trừ phi có lưu ý khác, nội dung của trang này được cấp phép theo Giấy phép ghi nhận tác giả 4.0 của Creative Commons và các mẫu mã lập trình được cấp phép theo Giấy phép Apache 2.0. Để biết thông tin chi tiết, vui lòng tham khảo Chính sách trang web của Google Developers. Java là nhãn hiệu đã đăng ký của Oracle và/hoặc các đơn vị liên kết với Oracle.
Cập nhật lần gần đây nhất: 2025-03-11 UTC.
[null,null,["Cập nhật lần gần đây nhất: 2025-03-11 UTC."],[],[],null,["# Add and remove note collaborators with permissions\n\nThe creator of a note is the owner of that note. The owner can add other\ncollaborators using permissions granted to individual users or groups.\nCollaborators gain edit access to the note. Collaborators can also have their\npermissions revoked using the API. This page explains how to add and delete\ncollaborators using permissions.\n\nAdd permissions to add collaborators\n------------------------------------\n\nThe following sample shows how to use permissions on a user or group to add\ncollaborators to a note: \n\n### REST\n\nCall\n[notes.permissions.batchCreate()](/workspace/keep/api/reference/rest/v1/notes.permissions/batchCreate)\nwith the parent note assigned the permission and `permission`. Note that the\nmember (user, group) can only be assigned the `WRITER` role.\n\n### Java\n\n /**\n * Grants write access to a user and to a Google group for the given note.\n *\n * @param note The note whose permissions will be updated.\n * @param userEmail Email address of the user that will be added to the permissions of the note.\n * @param groupEmail Email address of the Google group that will be added to the permissions of\n * the note.\n * @throws IOException\n * @return The response of the create permissions request.\n */\n private BatchCreatePermissionsResponse addPermissions(\n Note note, String userEmail, String groupEmail) throws IOException {\n String noteName = note.getName();\n CreatePermissionRequest userPermission =\n new CreatePermissionRequest()\n .setParent(noteName)\n .setPermission(new Permission().setEmail(userEmail).setRole(\"WRITER\"));\n\n CreatePermissionRequest groupPermission =\n new CreatePermissionRequest()\n .setParent(noteName)\n .setPermission(new Permission().setEmail(groupEmail).setRole(\"WRITER\"));\n\n BatchCreatePermissionsRequest batchCreatePermissionsRequest =\n new BatchCreatePermissionsRequest()\n .setRequests(Arrays.asList(userPermission, groupPermission));\n\n return keepService\n .notes()\n .permissions()\n .batchCreate(noteName, batchCreatePermissionsRequest)\n .execute();\n }\n\nRevoke permissions to remove collaborators\n------------------------------------------\n\nThe following sample shows how to use permissions to remove all collaborators\nfrom a note: \n\n### REST\n\nCall\n[notes.permissions.batchDelete()](/workspace/keep/api/reference/rest/v1/notes.permissions/batchDelete)\nwith the parent note assigned the permission and `permission`.\n\n### Java\n\n /**\n * Deletes all permissions of a given note excluding the owner. Owner of the note cannot be\n * removed from a note's permissions.\n *\n * @param note The note whose permissions will be deleted.\n * @throws IOException\n */\n private void deletePermissions(Note note) throws IOException {\n List\u003cPermission\u003e notePermissions =\n keepService.notes().get(note.getName()).execute().getPermissions();\n\n // List of users, groups or families that will be deleted from the permissions of the note.\n List\u003cString\u003e permissionsToDelete = new ArrayList\u003c\u003e();\n\n for (Permission permission : notePermissions) {\n // Note owner cannot be removed from the permissions of the note. Trying to remove the note\n // owner from the permissions will cause an exception.\n if (!permission.getRole().equals(\"OWNER\")) {\n permissionsToDelete.add(permission.getName());\n }\n }\n\n keepService\n .notes()\n .permissions()\n .batchDelete(\n note.getName(), new BatchDeletePermissionsRequest().setNames(permissionsToDelete))\n .execute();\n }"]]