Google Calendar API v3查询事件未返回colorId字段的问题
问题解答
为什么colorId字段不返回?
Google Calendar API v3的events.list接口默认返回精简版事件对象,仅包含id、summary、起止时间等常用核心字段,colorId这类非默认字段不会自动返回,该限制和API密钥权限、日历公开状态无关。
解决方法
你需要在请求URL中添加fields参数,显式指定要返回的字段,具体方式如下:
方法1:指定包含colorId的目标字段
如果只需要特定字段,可列出所需字段路径,示例URL:
https://www.googleapis.com/calendar/v3/calendars/CALENDAR_ID/events?key=MY_API_KEY&fields=items(id,summary,colorId,start,end)
方法2:请求事件的全部属性
若需要返回事件的所有可用字段,直接将fields设为*,示例URL:
https://www.googleapis.com/calendar/v3/calendars/CALENDAR_ID/events?key=MY_API_KEY&fields=*
额外注意事项
如果查询的是重复事件的实例,需添加singleEvents=true参数,确保实例事件返回正确的colorId(否则仅重复事件的主条目会返回该字段,实例默认不继承返回):
https://www.googleapis.com/calendar/v3/calendars/CALENDAR_ID/events?key=MY_API_KEY&fields=*&singleEvents=true
调整请求后,重新发起调用即可在返回的Event对象中获取colorId字段,对应你设置的自定义颜色ID。
内容的提问来源于stack exchange,提问作者Maksim Shaynyuk
相关产品推荐
相关产品推荐

