Der Ersteller einer Notiz ist der Inhaber. Der Inhaber kann Mitbearbeiter hinzufügen, indem er einzelnen Nutzern oder Gruppen Berechtigungen erteilt. Mitbearbeiter erhalten Bearbeitungszugriff auf die Notiz. Sie können Mitbearbeiterberechtigungen auch über die API widerrufen. Auf dieser Seite wird gezeigt, wie Sie mithilfe von Berechtigungen Mitarbeiter hinzufügen und löschen.
Berechtigungen zum Hinzufügen von Mitbearbeitern hinzufügen
Im folgenden Beispiel wird gezeigt, wie Sie mit Berechtigungen für einen Nutzer oder eine Gruppe Mitbearbeiter für eine Notiz hinzufügen:
REST
Rufen Sie notes.permissions.batchCreate() mit der übergeordneten Notiz auf, der die Berechtigung zugewiesen ist, und permission. Dem Mitglied (Nutzer, Gruppe) kann nur die Rolle WRITER zugewiesen werden.
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 Groups 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();
}
Berechtigungen widerrufen, um Mitbearbeiter zu entfernen
Im folgenden Beispiel wird gezeigt, wie Sie mit Berechtigungen alle Mitbearbeiter aus einer Notiz entfernen:
REST
Rufen Sie notes.permissions.batchDelete() mit der übergeordneten Notiz auf, der die Berechtigung zugewiesen ist, und permission.
Java
/**
* Deletes all permissions of a given note excluding the owner. The owner
* can't 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) {
// The note owner can't be removed from the permissions. Trying to
// remove the owner causes an exception.
if (!permission.getRole().equals("OWNER")) {
permissionsToDelete.add(permission.getName());
}
}
keepService
.notes()
.permissions()
.batchDelete(
note.getName(),
new BatchDeletePermissionsRequest().setNames(permissionsToDelete))
.execute();
}