Acl: update

Aggiorna una regola di controllo dell'accesso. Prova subito o guarda un esempio.

Richiesta

Richiesta HTTP

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

Parametri

Nome del parametro Valore Descrizione
Parametri percorso
calendarId string Identificatore di calendario. Per recuperare gli ID calendario, chiama il metodo calendarList.list. Se vuoi accedere al calendario principale dell'utente che ha eseguito l'accesso, usa "primary" parola chiave.
ruleId string Identificatore regola ACL.
Parametri di query facoltativi
sendNotifications boolean Indica se inviare notifiche sulla modifica della condivisione del calendario. Tieni presente che non ci sono notifiche sulla rimozione dell'accesso. (Facoltativo) Il valore predefinito è True.

Autorizzazione

Questa richiesta richiede l'autorizzazione con il seguente ambito:

Ambito
https://www.googleapis.com/auth/calendar

Per ulteriori informazioni, consulta la pagina Autenticazione e autorizzazione.

Corpo della richiesta

Nel corpo della richiesta, fornisci una risorsa ACL con le seguenti proprietà:

Nome proprietà Valore Descrizione Note
Proprietà obbligatorie
scope object La misura in cui l'accesso al calendario viene concesso da questa regola ACL.
scope.type string Il tipo di ambito. I valori possibili sono:
  • "default" - L'ambito pubblico. Questo è il valore predefinito.
  • "user" - Limita l'ambito a un singolo utente.
  • "group" - Limita l'ambito a un gruppo.
  • "domain" - Limita l'ambito a un dominio.
Nota: le autorizzazioni concesse all'ambito "default", ovvero pubblico, si applicano a qualsiasi utente, autenticato o meno.
Proprietà facoltative
role string Il ruolo assegnato all'ambito. I valori possibili sono:
  • "none" - Non fornisce accesso.
  • "freeBusyReader" - Fornisce l'accesso in lettura alle informazioni sulla disponibilità.
  • "reader" - Fornisce l'accesso in lettura al calendario. Gli eventi privati saranno visibili agli utenti con accesso in lettura, ma i relativi dettagli saranno nascosti.
  • "writer" - Fornisce l'accesso in lettura e scrittura al calendario. Gli eventi privati verranno mostrati agli utenti con accesso in scrittura e i dettagli degli eventi saranno visibili.
  • "owner" - Fornisce la proprietà del calendario. Questo ruolo possiede tutte le autorizzazioni del ruolo Writer con un'ulteriore possibilità di visualizzare e gestire gli ACL.
accessibile in scrittura
scope.value string L'indirizzo email di un utente o di un gruppo oppure il nome di un dominio, a seconda del tipo di ambito. Omesso per il tipo "default". accessibile in scrittura

Risposta

In caso di esito positivo, questo metodo restituisce una risorsa ACL nel corpo della risposta.

Esempi

Nota: gli esempi di codice disponibili per questo metodo non rappresentano tutti i linguaggi di programmazione supportati (consulta la pagina relativa alle librerie client per un elenco dei linguaggi supportati).

Java

Utilizza la libreria client 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

Utilizza la libreria client 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

Utilizza la libreria client PHP.

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

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

Ruby

Utilizza la libreria client Ruby.

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

Prova

Usa Explorer API in basso per chiamare questo metodo sui dati in tempo reale e visualizzare la risposta.