Acl: update

Met à jour une règle de contrôle des accès. Essayez maintenant ou voir un exemple

Requête

Requête HTTP

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

Paramètres

Nom du paramètre Valeur Description
Paramètres de chemin d'accès
calendarId string Identifiant de l'agenda. Pour récupérer les ID d'agenda, appelez la méthode calendarList.list. Si vous souhaitez accéder à l'agenda principal de l'utilisateur actuellement connecté, utilisez le mot clé "primary".
ruleId string Identifiant de la règle LCA.
Paramètres de requête facultatifs
sendNotifications boolean Indique si des notifications doivent être envoyées concernant le changement de partage de l'agenda. Notez qu'aucune notification n'est envoyée lorsque l'accès est supprimé. Facultatif. La valeur par défaut est "True".

Autorisation

Cette requête nécessite une autorisation avec au moins l'un des champs d'application suivants:

Portée
https://www.googleapis.com/auth/calendar
https://www.googleapis.com/auth/calendar.acls

Pour en savoir plus, consultez la page Authentification et autorisation.

Corps de la requête

Dans le corps de la requête, indiquez une ressource Acl avec les propriétés suivantes:

Nom de propriété Valeur Description Remarques
Propriétés requises
scope object Niveau d'accès à l'agenda accordé par cette règle de LCA.
scope.type string Type de champ d'application. Les valeurs possibles sont les suivantes:
  • "default" : portée publique. Il s'agit de la valeur par défaut.
  • "user" : limite le champ d'application à un seul utilisateur.
  • "group" : limite le champ d'application à un groupe.
  • "domain" : limite le champ d'application à un domaine.
Remarque: Les autorisations accordées au champ d'application "default", ou public, s'appliquent à tous les utilisateurs, qu'ils soient authentifiés ou non.
Propriétés facultatives
role string Rôle attribué au champ d'application. Les valeurs possibles sont les suivantes:
  • "none" : n'accorde aucun accès.
  • "freeBusyReader" : permet d'accéder en lecture aux informations de disponibilité.
  • "reader" : permet d'accéder en lecture à l'agenda. Les événements privés s'affichent pour les utilisateurs disposant d'un accès lecteur, mais les détails de l'événement sont masqués.
  • "writer" : permet d'accéder en lecture et en écriture à l'agenda. Les événements privés s'affichent pour les utilisateurs disposant d'un accès en tant qu'auteur, et leurs détails sont visibles.
  • "owner" : indique le propriétaire de l'agenda. Ce rôle dispose de toutes les autorisations du rôle "Rédacteur", avec la possibilité supplémentaire de consulter et de manipuler les ACL.
accessible en écriture
scope.value string Adresse e-mail d'un utilisateur ou d'un groupe, ou nom d'un domaine, selon le type de champ d'application. omis pour le type "default". accessible en écriture

Réponse

Si la requête aboutit, cette méthode renvoie une ressource Acl dans le corps de la réponse.

Exemples

Remarque : Les langages de programmation compatibles ne figurent pas tous dans les exemples de code présentés pour cette méthode (consultez la page Bibliothèques clientes pour obtenir la liste des langages compatibles).

Java

Utilise la bibliothèque cliente 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

Utilise la bibliothèque cliente 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

Utilise la bibliothèque cliente PHP.

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

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

Ruby

Utilise la bibliothèque cliente Ruby.

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

Essayer

Utilisez l'explorateur d'API ci-dessous pour appeler cette méthode sur des données en direct, puis observez la réponse.