日历共享
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
您可以通过两种不同的方式与他人共享日历和活动数据。
首先,您可以共享整个日历,并指定访问权限级别。
例如,您可以创建团队日历,然后执行以下操作:
- 向团队的所有成员授予在日历中添加和修改活动的权限
- 授予您的老板查看您日历中活动的权限
- 仅授予客户查看您空闲或忙碌时间的权限,但不授予查看活动详情的权限
您还可以调整对共享日历中个别活动的访问权限。
或者,您也可以邀请他人参加您日历中的个别活动。
邀请他人参加活动后,对方的日历上会显示相应活动的副本。与会者日历中的副本会根据与会者的共享配置向他人显示。
受邀者随后可以接受或拒绝邀请,并且在一定程度上修改其活动副本,例如更改活动在日历中的颜色,以及添加提醒。详细了解如何邀请用户参加活动。
共享日历
日历的所有者可以通过向其他用户授予访问权限来共享日历。指定日历的共享设置由该日历的 ACL 集合(访问控制列表)表示。ACL 集合中的每个资源都会向指定的被授予者授予特定的访问权限角色,该角色是下表中列出的角色之一:
角色 |
角色授予的访问权限 |
none |
不提供任何访问权限。 |
freeBusyReader |
允许被授予者查看日历在指定时间是有空还是忙碌,但不允许其访问活动详情。您可以使用 freeBusy.query 操作检索忙闲信息。 |
reader |
允许被授予者读取日历中的活动。 |
writer |
允许被授予者读取和写入日历中的活动。此角色还可以查看 ACL。 |
owner |
提供日历的所有权。此角色拥有 Writer 角色的所有权限,此外还能够操控 ACL。 |
可能的被授予者包括:
- 其他个人用户
- 用户群组
- 网域
- 公开(向所有人授予访问权限)。
默认情况下,每个用户都拥有其主日历的所有者访问权限,并且无法放弃此访问权限。每个日历最多可以添加 6,000 个 ACL。
对于 Google Workspace 用户,还有一些网域设置可能会限制允许的最大访问权限。例如,假设您的网域有一项设置,仅允许共享有空/忙碌信息。在这种情况下,即使您向公众授予写入者访问权限,网域外的用户也只能看到忙闲详情。
活动公开范围
共享日历后,您可以通过更改活动的公开范围属性来调整对日历中各个活动的访问权限。
此属性对于非共享日历没有任何意义。下表列出了 visibility 属性的可能值:
公开范围 |
含义 |
default |
活动的公开范围由日历的 ACL 决定。同一活动的不同参与者可以拥有不同的 ACL 和共享设置。如果拥有 private 日历的用户使用default 公开范围向拥有公开日历的另一用户发送活动邀请,则该活动会完全显示在受邀者的日历中。 |
public |
有权访问此日历的所有人都可以查看此活动的详细信息。freeBusyReader |
private |
只有对相应日历具有至少 writer 访问权限的用户才能查看此活动的详细信息。 |
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2025-08-29。
[null,null,["最后更新时间 (UTC):2025-08-29。"],[],[],null,["# Calendar sharing\n\nThere are two different ways to share calendar and event data with others.\n\nFirstly, you can *share* an entire calendar, with a specified level of access.\nFor example, you can create a team calendar, and then do things like:\n\n- Grant all members of your team the right to add and modify events in the calendar\n- Grant your boss the right to see the events on your calendar\n- Grant your customers the right to only see when you are free or busy, but not the details of the events\n\nYou can also adjust the access to individual events on the shared calendar.\n\nAlternatively, you can invite others to individual events on your calendar.\nInviting someone to an event puts a copy of that event on their calendar. The\ncopy on the attendee's calendar is visible to others according to the\nattendee's sharing configuration.\nThe invitee can then accept or reject the invitation, and to some extent also\nmodify their copy of the event --- for example, change the color it has in\ntheir calendar, and add a reminder. [Learn more about inviting users to an\nevent](/workspace/calendar/api/concepts/inviting-attendees-to-events).\n\nSharing calendars\n-----------------\n\nThe owners of a calendar can share the calendar by giving access to other\nusers. The sharing settings of a given calendar are represented by the [ACL\ncollection](/workspace/calendar/v3/reference/acl)\n(access control list) of that calendar. Each resource in the ACL\ncollection grants a specified *grantee* a certain access *role*, which is\none of those listed in the following table:\n\n| Role | Access privilege granted by the role |\n|------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `none` | Provides no access. |\n| `freeBusyReader` | Lets the grantee see whether the calendar is free or busy at a given time, but does not allow access to event details. Free/busy information can be retrieved using the [freeBusy.query](/workspace/calendar/v3/reference/freebusy/query) operation. |\n| `reader` | Lets the grantee read events on the calendar. |\n| `writer` | Lets the grantee read and write events on the calendar. This role can also see ACLs. |\n| `owner` | Provides ownership of the calendar. This role has all of the permissions of the writer role with the additional ability to manipulate ACLs. |\n\nThe possible grantees are:\n\n- another individual user\n- a user group\n- a domain\n- public (grants access to everyone).\n\nBy default, each user has owner access to their primary calendar, and this\naccess cannot be relinquished. Up to 6,000 ACLs can be added per calendar.\n\nFor Google Workspace users, there are also domain\nsettings that might restrict the\nmaximum allowed access. For example, suppose your domain has a setting that\nonly allows free-busy calendar sharing. In this case, even if you grant writer\naccess to the public, users outside the domain will only see the free-busy\ndetails.\n| **Note:** Sharing a calendar with a user no longer automatically inserts the calendar into their `CalendarList`. If you want the user to see and interact with the shared calendar, you need to call the [`CalendarList: insert()`](/workspace/calendar/v3/reference/calendarList/insert) method.\n\nEvent visibility\n----------------\n\nOnce the calendar is shared, you can adjust the access to individual\nevents on a calendar by changing the [visibility\nproperty](/workspace/calendar/v3/reference/events#visibility) of the event.\nThis property has no meaning for non-shared calendars. The following table\nlists the possible values of the visibility property:\n\n| Visibility | Meaning |\n|------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `default` | The visibility of the event is determined by the ACLs of the calendar. Different attendees of the same event can have different ACLs and sharing. If a user with a `private` calendar sends an invite to an event using `default` visibility to another user with a publicly visible calendar, the event is fully visible on that attendee's calendar. |\n| `public` | The details of this event are visible to everyone with at least `freeBusyReader` access to the calendar. |\n| `private` | The details of this event are only visible to users with at least `writer` access to the calendar. |"]]