![](/img/trans.png)
[英]How to get only certain events from a public google calendar and insert the event date in a js countdown
[英]Only Public Events from Google Calendar API
我需要通过客户端的Javascript从公共日历中准确提取12个公共事件,或者有那么多公共事件。 例子:
我一直在使用Google Calendar API Explorer收效甚微(链接会将您带到我使用过的字段的API资源管理器中)。 无论如何,似乎并没有告诉API不包含私有事件。
注意 :我正在执行不带OAuth的API调用。 活动是使用Google日历网络界面发布的,因此扩展属性超出了我认为的解决方案。 我的公开Google日历ID:rvv7ae2s15ma471lqqo9t5h74s@group.calendar.google.com
如果查看JSON响应,您将看到私有事件具有以下属性和值:
"visibility": "private"
我所能做的就是调用maxResults = 12的API,并通过检查上面的JSON属性来简单地过滤出任何私有事件。
问题是我可能必须多次调用Google Calendar API,然后才能获得所需的事件数。 而且我必须针对多个日历执行此过程(例如,如果我有4个公共google日历,并且每个日历平均需要3个API调用来获取12个事件,那么我将执行12个不同的AJAX调用只是为了获取数据.. )。 我获得12个事件或直到日历用完才是最重要的。
我找不到解决此问题的好方法。 我已经仔细检查了Google APIs Explorer中的所有字段,使之完全为零运气。 任何帮助,将不胜感激。
我找不到我渴望的“好的解决方案”的答案,但确实找到了可以接受的折衷方案。
在我的问题中,我曾说过我必须从多个日历中“仅获取公共事件”,并且如果每个日历平均要进行3次API调用才能获得X个公共事件,则我需要调用Google Calendar API 3 * C,其中C =日历数。
Google API客户端库提供了一个名为Batch Requests的东西,它使我可以一次调用多个API调用! 因此,我可以使用批处理请求在一个请求中获取C日历的所有事件,过滤出任何私有事件,使用C> =日历发出另一个批处理请求,依此类推。
总而言之,我平均可以在3个API请求中获得3个C日历的X个公共事件,而不是3 * C个请求。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.