使用PHP调用Google Calendar API创建事件时如何设置空闲/忙碌状态
Google Calendar API设置事件忙闲状态解决方案
控制事件在日历中显示为Free或Busy的配置参数为Event资源的transparency字段,你之前查阅的FreeBusy相关接口仅用于查询时间段的忙闲状态,不负责设置单个事件的属性。
该字段可选两个取值:
opaque:系统默认值,事件会占用时间段,标记为Busytransparent:事件不占用时间段,标记为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
相关产品推荐
相关产品推荐

