Access Control List
Access control rule is represented by the class AccessControlRule
.
gcsa allows you to add a new access control rule, retrieve, update and delete existing rules.
To do so, create a GoogleCalendar
instance (see Getting started to get your
credentials):
from gcsa.google_calendar import GoogleCalendar
gc = GoogleCalendar()
List rules
for rule in gc.get_acl_rules():
print(rule)
Get rule by id
rule = gc.get_acl_rule(rule_id='<acl_rule_id>')
print(rule)
Add access rule
To add a new ACL rule, create an AccessControlRule
object with specified role
(see more in ACLRole
), scope type (see more in ACLScopeType
), and scope
value.
from gcsa.acl import AccessControlRule, ACLRole, ACLScopeType
rule = AccessControlRule(
role=ACLRole.READER,
scope_type=ACLScopeType.USER,
scope_value='friend@gmail.com',
)
rule = gc.add_acl_rule(rule)
print(rule.id)
Update access rule
rule = gc.get_acl_rule('<acl_rule_id>')
rule.role = ACLRole.WRITER
rule = gc.update_acl_rule(rule)
Delete access rule
rule = gc.get_acl_rule('<acl_rule_id>')
gc.delete_acl_rule(rule)