메모 작성자가 메모의 소유자입니다. 소유자는 개별 사용자 또는 그룹에 부여된 권한을 사용하여 다른 공동작업자를 추가할 수 있습니다.
공동작업자에게 메모에 대한 수정 액세스 권한이 부여됩니다. API를 사용하여 공동작업자의 권한을 취소할 수도 있습니다. 이 페이지에서는 권한을 사용하여 공동작업자를 추가하고 삭제하는 방법을 설명합니다.
공동작업자 추가 권한 추가
다음 샘플은 사용자 또는 그룹의 권한을 사용하여 메모에 공동작업자를 추가하는 방법을 보여줍니다.
/** * 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. */privateBatchCreatePermissionsResponseaddPermissions(Notenote,StringuserEmail,StringgroupEmail)throwsIOException{StringnoteName=note.getName();CreatePermissionRequestuserPermission=newCreatePermissionRequest().setParent(noteName).setPermission(newPermission().setEmail(userEmail).setRole("WRITER"));CreatePermissionRequestgroupPermission=newCreatePermissionRequest().setParent(noteName).setPermission(newPermission().setEmail(groupEmail).setRole("WRITER"));BatchCreatePermissionsRequestbatchCreatePermissionsRequest=newBatchCreatePermissionsRequest().setRequests(Arrays.asList(userPermission,groupPermission));returnkeepService.notes().permissions().batchCreate(noteName,batchCreatePermissionsRequest).execute();}
/** * 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 */privatevoiddeletePermissions(Notenote)throwsIOException{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=newArrayList<>();for(Permissionpermission: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(),newBatchDeletePermissionsRequest().setNames(permissionsToDelete)).execute();}
[[["이해하기 쉬움","easyToUnderstand","thumb-up"],["문제가 해결됨","solvedMyProblem","thumb-up"],["기타","otherUp","thumb-up"]],[["필요한 정보가 없음","missingTheInformationINeed","thumb-down"],["너무 복잡함/단계 수가 너무 많음","tooComplicatedTooManySteps","thumb-down"],["오래됨","outOfDate","thumb-down"],["번역 문제","translationIssue","thumb-down"],["샘플/코드 문제","samplesCodeIssue","thumb-down"],["기타","otherDown","thumb-down"]],["최종 업데이트: 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 }"]]