Acl: update

Zaktualizuje regułę kontroli dostępu. Wypróbuj teraz lub zobacz przykład.

Żądanie

Żądanie HTTP

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

Parametry

Nazwa parametru Wartość Opis
Parametry ścieżki
calendarId string Identyfikator kalendarza. Aby pobrać identyfikatory kalendarzy, wywołaj metodę calendarList.list. Jeśli chcesz uzyskać dostęp do głównego kalendarza aktualnie zalogowanego użytkownika, użyj słowa kluczowego „primary”.
ruleId string Identyfikator reguły ACL.
Parametry opcjonalne zapytania
sendNotifications boolean Określ, czy chcesz wysyłać powiadomienia o zmianie udostępniania kalendarza. Pamiętaj, że nie wysyłamy powiadomień o usunięciu dostępu. Opcjonalnie: Wartość domyślna to True.

Autoryzacja

Ta prośba wymaga autoryzacji z co najmniej jednym z tych zakresów:

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

Więcej informacji znajdziesz na stronie Uwierzytelnianie i autoryzacja.

Treść żądania

W treści żądania podaj zasób ACL z tymi właściwościami:

Nazwa usługi Wartość Opis Uwagi
Właściwości wymagane
scope object Zakres, w jakim ta reguła ACL przyznaje dostęp do kalendarza.
scope.type string Typ zakresu. Możliwe wartości:
  • default” – zakres publiczny. Jest to wartość domyślna.
  • user” – ogranicza zakres do jednego użytkownika.
  • group” – ogranicza zakres do grupy.
  • domain” – ogranicza zakres do domeny.
Uwaga: uprawnienia przyznane w zakresie „default” (czyli publicznie) dotyczą wszystkich użytkowników, bez względu na to, czy są uwierzytelnieni.
Właściwości opcjonalne
role string Rola przypisana do zakresu. Możliwe wartości:
  • none” – brak dostępu.
  • freeBusyReader” – zapewnia dostęp tylko do odczytu informacji o dostępności.
  • reader” – zapewnia dostęp do odczytu kalendarza. Wydarzenia prywatne będą widoczne dla użytkowników z dostępem tylko do odczytu, ale szczegóły wydarzeń będą ukryte.
  • writer” – zapewnia uprawnienia do odczytu i zapisu w kalendarzu. Wydarzenia prywatne będą widoczne dla użytkowników z dostępem do funkcji pisania, a szczegóły wydarzeń będą widoczne.
  • owner” – określa właściciela kalendarza. Ta rola ma wszystkie uprawnienia roli autora, a dodatkowo umożliwia wyświetlanie i modyfikowanie list dostępu.
zapisywalny
scope.value string Adres e-mail użytkownika lub grupy albo nazwa domeny, w zależności od typu zakresu. Pominięte w przypadku typu „default”. zapisywalny

Odpowiedź

Jeśli operacja się powiedzie, zwróci ona zasoby ACL w treści odpowiedzi.

Przykłady

Uwaga: dostępne dla tej metody przykłady kodu nie odzwierciedlają wszystkich obsługiwanych języków programowania. Listę obsługiwanych języków znajdziesz na stronie z bibliotekami klienta.

Java

Korzysta z biblioteki klienta 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

Korzysta z biblioteki klienta Pythona.

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

Używa biblioteki klienta PHP.

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

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

Ruby

Używa biblioteki klienta Ruby.

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

Wypróbuj

Aby wywołać tę metodę na podstawie danych na żywo i zobaczyć odpowiedź, użyj narzędzia APIs Explorer.