Acl: update

Actualiza una regla de control de acceso. Pruébalo ahora y ve un ejemplo.

Solicitud

Solicitud HTTP

PUT https://www.googleapis.com/calendar/v3/calendars/calendarId/acl/ruleId

Parámetros

Nombre del parámetro Valor Descripción
Parámetros de ruta de acceso
calendarId string Es el identificador del calendario. Para recuperar los IDs de calendario, llama al método calendarList.list. Si deseas acceder al calendario principal del usuario que accedió actualmente, usa la palabra clave "primary".
ruleId string Es el identificador de la regla LCA.
Parámetros de consulta opcionales
sendNotifications boolean Si se deben enviar notificaciones sobre el cambio de uso compartido del calendario. Ten en cuenta que no hay notificaciones sobre la eliminación del acceso. Opcional. El valor predeterminado es True.

Autorización

Esta solicitud requiere autorización con al menos uno de los siguientes permisos:

Alcance
https://www.googleapis.com/auth/calendar
https://www.googleapis.com/auth/calendar.acls

Para obtener más información, consulta la página autenticación y autorización.

Cuerpo de la solicitud

En el cuerpo de la solicitud, proporciona un recurso de ACL con las siguientes propiedades:

Nombre de la propiedad Valor Descripción Notas
Propiedades obligatorias
scope object El grado en que esta regla de LCA otorga acceso al calendario
scope.type string Es el tipo de alcance. Los valores posibles son los siguientes:
  • "default": Es el alcance público. Este es el valor predeterminado.
  • "user": Limita el permiso a un solo usuario.
  • "group": Limita el permiso a un grupo.
  • "domain": Limita el permiso a un dominio.
Nota: Los permisos otorgados al permiso "default", o público, se aplican a cualquier usuario, ya sea autenticado o no.
Propiedades opcionales
role string Es el rol asignado al alcance. Los valores posibles son los siguientes:
  • "none": No proporciona acceso.
  • "freeBusyReader": Proporciona acceso de lectura a la información de disponibilidad.
  • "reader": Proporciona acceso de lectura al calendario. Los eventos privados aparecerán para los usuarios con acceso de lector, pero se ocultarán los detalles.
  • "writer": Otorga acceso de lectura y escritura al calendario. Los eventos privados aparecerán para los usuarios con acceso de escritor, y se podrán ver sus detalles.
  • "owner": Proporciona la propiedad del calendario. Este rol tiene todos los permisos del rol de escritor con la capacidad adicional de ver y manipular las ACL.
admite escritura
scope.value string La dirección de correo electrónico de un usuario o grupo, o el nombre de un dominio, según el tipo de alcance. Se omite para el tipo “default”. admite escritura

Respuesta

Si la respuesta es correcta, este método muestra un recurso de Acl en el cuerpo de la respuesta.

Ejemplos

Nota: Los ejemplos de código disponibles para este método no representan todos los lenguajes de programación admitidos (consulta la página de bibliotecas cliente para consultar una lista de lenguajes admitidos).

Java

Usa la biblioteca cliente de Java.

import com.google.api.services.calendar.Calendar;
import com.google.api.services.calendar.model.AclRule;

// ...

// Initialize Calendar service with valid OAuth credentials
Calendar service = new Calendar.Builder(httpTransport, jsonFactory, credentials)
    .setApplicationName("applicationName").build();

// Retrieve the access rule from the API
AclRule rule = service.acl().get('primary', "ruleId").execute();

// Make a change
rule.setRole("newRole");

// Update the access rule
AclRule updatedRule = service.acl().update('primary', rule.getId(), rule).execute();
System.out.println(updatedRule.getEtag());

Python

Usa la biblioteca cliente de Python.

rule = service.acl().get(calendarId='primary', ruleId='ruleId').execute()
rule['role'] = 'newRole'

updated_rule = service.acl().update(calendarId='primary', ruleId=rule['id'], body=rule).execute()
print updated_rule['etag']

PHP

Usa la biblioteca cliente de PHP.

$rule = $service->acl->get('primary', 'ruleId');
$rule->setRole('newRole');

$updatedRule = $service->acl->update('primary', $rule->getId(), $rule);
echo $updatedRule->getEtag();

Ruby

Usa la biblioteca cliente de Ruby.

rule = client.get_acl('primary', 'ruleId')
rule.role = 'newRole'
result = client.update_acl('primary', rule.id, rule)
print result.etag

Pruébalo

Usa el Explorador de APIs que aparece a continuación para llamar a este método en datos en vivo y ver la respuesta.