Updates an access control rule. Try it now or see an example.
Request
HTTP request
PUT https://www.googleapis.com/calendar/v3/calendars/calendarId/acl/ruleId
Parameters
Parameter name | Value | Description |
---|---|---|
Path parameters | ||
calendarId |
string |
Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the "primary " keyword.
|
ruleId |
string |
ACL rule identifier. |
Optional query parameters | ||
sendNotifications |
boolean |
Whether to send notifications about the calendar sharing change. Note that there are no notifications on access removal. Optional. The default is True. |
Authorization
This request requires authorization with the following scope:
Scope |
---|
https://www.googleapis.com/auth/calendar |
For more information, see the authentication and authorization page.
Request body
In the request body, supply an Acl resource with the following properties:
Property name | Value | Description | Notes |
---|---|---|---|
Required Properties | |||
scope |
object |
The extent to which calendar access is granted by this ACL rule. | |
scope.type |
string |
The type of the scope. Possible values are:
default ", or public, scope apply to any user, authenticated or not. |
|
Optional Properties | |||
role |
string |
The role assigned to the scope. Possible values are:
|
writable |
scope.value |
string |
The email address of a user or group, or the name of a domain, depending on the scope type. Omitted for type "default ". |
writable |
Response
If successful, this method returns an Acl resource in the response body.
Examples
Note: The code examples available for this method do not represent all supported programming languages (see the client libraries page for a list of supported languages).
Java
Uses the Java client library.
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
Uses the Python client library.
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
Uses the PHP client library.
$rule = $service->acl->get('primary', 'ruleId'); $rule->setRole('newRole'); $updatedRule = $service->acl->update('primary', $rule->getId(), $rule); echo $updatedRule->getEtag();
Ruby
Uses the Ruby client library.
rule = client.get_acl('primary', 'ruleId') rule.role = 'newRole' result = client.update_acl('primary', rule.id, rule) print result.etag
Try it!
Use the APIs Explorer below to call this method on live data and see the response.