You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用PHP调用Google Calendar API创建事件时如何设置空闲/忙碌状态

Google Calendar API设置事件忙闲状态解决方案

控制事件在日历中显示为Free或Busy的配置参数为Event资源的transparency字段,你之前查阅的FreeBusy相关接口仅用于查询时间段的忙闲状态,不负责设置单个事件的属性。

该字段可选两个取值:

  • opaque:系统默认值,事件会占用时间段,标记为Busy
  • transparent:事件不占用时间段,标记为Free

在你现有代码中,插入事件前调用setTransparency方法传入对应值即可,示例修改如下:

$googleClient = new GoogleClient();
$slotCalendarService = GoogleClientCalendar::getSlotCalendar($googleClient->getClient());

$googleEvent = new Event();

$googleEventStart = new EventDateTime();
$googleEventStart->setTimeZone($attrs['timezone']);
$googleEventStart->setDateTime("2021-12-02T10:00:00");
$googleEvent->setStart($googleEventStart);

$googleEventEnd = new EventDateTime();
$googleEventEnd->setTimeZone($attrs['timezone']);
$googleEventEnd->setDateTime("2021-12-02T10:50:00");
$googleEvent->setEnd($googleEventEnd);

// 新增行:设置事件状态为Free
$googleEvent->setTransparency('transparent');

$googleEventAttendee = new EventAttendee();
$googleEventAttendee->email = empty($attrs['attendee']) ? '' : $attrs['attendee'];
$googleEvent->description = $description;
$googleEvent->summary = $remark;
$googleEvent->setAttendees($googleEventAttendee);
$slotCalendarService->getCalendarService()->events->insert($slotCalendarService->getCurrentCalendarId(), $googleEvent);

内容的提问来源于stack exchange,提问作者sambo visal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 11:36:02