Acl: insert

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

Żądanie

Żądanie HTTP

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

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 kalendarza głównego obecnie zalogowanego użytkownika, użyj słowa kluczowego „primary”.
Opcjonalne parametry zapytania
sendNotifications boolean Określa, czy chcesz wysyłać powiadomienia o zmianie udostępniania kalendarza. Opcjonalne. Wartość domyślna to True.

Upoważnienie

To żądanie wymaga autoryzacji w następującym zakresie:

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

Więcej informacji znajdziesz na stronie uwierzytelniania i autoryzacji.

Treść żądania

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

Nazwa właściwości Wartość Opis Uwagi
Wymagane właściwości
role string Rola przypisana do zakresu. Możliwe wartości:
  • none” – nie daje dostępu.
  • freeBusyReader” – zapewnia dostęp do informacji o stanie Wolny/Zajęty.
  • reader” – zapewnia dostęp do kalendarza w trybie do odczytu. Prywatne wydarzenia będą widoczne dla użytkowników z dostępem do odczytu, ale szczegóły wydarzeń będą ukryte.
  • writer” – daje dostęp do kalendarza z możliwością zapisu i odczytu. Wydarzenia prywatne będą widoczne dla użytkowników z uprawnieniami zapisującego, a ich szczegóły będą widoczne.
  • owner” – określa własność kalendarza. Ta rola ma wszystkie uprawnienia roli zapisującego, a dodatkowo umożliwia wyświetlanie i modyfikowanie list kontroli dostępu.
zapisywalny
scope object Zakres, w jakim dostęp do kalendarza jest przyznawany przez tę regułę ACL.
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 do zakresu „default” (publicznego) mają zastosowanie do wszystkich użytkowników – uwierzytelnionych lub nie.
Właściwości opcjonalne
scope.value string Adres e-mail użytkownika lub grupy albo nazwa domeny (w zależności od typu zakresu). Pominięto w przypadku typu „default”. zapisywalny

Odpowiedź

Jeśli operacja się powiedzie, ta metoda zwraca zasób 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

Używa biblioteki klienta w języku 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();

// Create access rule with associated scope
AclRule rule = new AclRule();
Scope scope = new Scope();
scope.setType("scopeType").setValue("scopeValue");
rule.setScope(scope).setRole("role");

// Insert new access rule
AclRule createdRule = service.acl().insert('primary', rule).execute();
System.out.println(createdRule.getId());

Python

Używa biblioteki klienta dla języka Python.

rule = {
    'scope': {
        'type': 'scopeType',
        'value': 'scopeEmail',
    },
    'role': 'role'
}

created_rule = service.acl().insert(calendarId='primary', body=rule).execute()

print created_rule['id']

PHP

Używa biblioteki klienta PHP.

$rule = new Google_Service_Calendar_AclRule();
$scope = new Google_Service_Calendar_AclRuleScope();

$scope->setType("scopeType");
$scope->setValue("scopeValue");
$rule->setScope($scope);
$rule->setRole("role");

$createdRule = $service->acl->insert('primary', $rule);
echo $createdRule->getId();

Ruby

Używa biblioteki klienta Ruby.

rule = Google::Apis::CalendarV3::AclRule.new(
  scope: {
    type: 'scopeType',
    value: 'scopeEmail',
  },
  role: 'role'
)
result = client.insert_acl('primary', rule)
print result.id

Wypróbuj

Skorzystaj z eksploratora interfejsów API poniżej, aby wywołać tę metodę w aktywnych danych i zobaczyć odpowiedź.