Google Calendar API扩展属性在事件UI中不显示的问题排查
Google Calendar扩展属性UI不显示的原因及解决办法
- 未执行云端更新操作:你当前的代码只是在本地修改了事件对象的扩展属性,没有调用API的更新方法把修改同步到Google服务器。这就像编辑了文件但没点保存,云端的事件其实没被修改。
- UI本身不支持展示扩展属性:Google Calendar的官方界面默认不会显示任何
shared或private类型的扩展属性。这类属性是专门给开发者通过API存储自定义数据用的,不属于UI界面的展示范畴。
修正后的代码(包含更新操作)
<?php $event = $service->events->get($calendar_id, $calendar_event_id); $extendedProperties = new Google_Service_Calendar_EventExtendedProperties(); $extendedProperties->setShared(array('petsAllowed'=>'yes')); $event->setExtendedProperties($extendedProperties); // 核心步骤:调用update方法将修改同步到云端 $updatedEvent = $service->events->update($calendar_id, $calendar_event_id, $event); ?>
注意:即使成功同步到云端,你依然无法在Calendar的UI界面看到这个petsAllowed属性。如果需要在界面中展示这类自定义信息,只能将内容添加到事件的**描述(description)或标题(summary)**字段中。
内容的提问来源于stack exchange,提问作者Peter Westerlund
相关产品推荐
相关产品推荐

