Google日历倒计时

时间:2018-07-25 13:21:58

标签: jquery google-calendar-api countdown

我正在开发此页面:just a test page yet

其中有一个Google日历可以显示下一个事件。如果向下滚动(在日历下),您将看到一个Jquery倒计时,显示下一个事件的即将到来时间。

这是Jquery代码块:

<script type="text/javascript">
            $("#days_count")
            .countdown("2018/07/27", function(event) {
              $(this).text(
                event.strftime('%D days')
              );
            });
            $("#hours_count")
            .countdown("2018/07/27", function(event) {
              $(this).text(
                event.strftime('%H:%M:%S')
              );
            });
          </script>

我想用一些代码替换日期“ 2018/07/27”,该代码调用Google日历中的下一个事件。有可能吗?

谢谢。

1 个答案:

答案 0 :(得分:0)

首先,您需要凭据才能访问Google日历资源。

我看到您的页面使用php,因此请看Google Calendar PHP Quickstart来查看api的工作方式示例。

基本上,您需要在google console中启用Google日历api并生成“ secret_file.json”。使用此文件,您可以访问(只读或读写器)Google日历。

一旦获得此凭据(将其存储到文件中),就可以开始使用google calendar api

具体来说,您需要使用查询参数调用events list method

必填参数:

  • calendarId :您将在网站上显示的日历ID。

可选参数:

  • maxResults :设置maxResult = 1,因为您只需要即将到来的事件。
  • orderBy :设置orderBy ='startTime',您将获得传入事件的列表。
  • 单个事件:设置singleEvents = True,因为需要按照开始日期对事件进行排序。

重要提示::orderBy ='startTime'需要的单事件等于True。

  

“ startTime”:按开始日期/时间(升序)排序。仅在查询单个事件(即参数singleEvents为True)时才可用

因此,您将获得下一个json:

{
  "kind": "calendar#events",
  "etag": etag,
  "summary": string,
  "description": string,
  "updated": datetime,
  "timeZone": string,
  "accessRole": string,
  "defaultReminders": [
    {
      "method": string,
      "minutes": integer
    }
  ],
  "nextPageToken": string,
  "nextSyncToken": string,
  "items": [
    events Resource
  ]
}

列表中有一个“项目”。此事件是传入事件。

您可以检查事件资源格式here来检索“ start.date”或“ start.dateTime”值。