javascript - 在网站中嵌入 Google 日历并使用日历中的事件

标签 javascript jquery html css calendar

我正在尝试在我的网站上设置 Google 日历。嵌入它非常简单,只需将 iframe 放在页面上我想要的位置即可。

<iframe src="https://calendar.google.com/calendar/embed?src=mycalendar%gmail.com&ctz=America/Edmonton" style="border: 0" width="800" height="600" frameborder="0" scrolling="no"></iframe>

我将有一个日历页面,但我还想在主页上有一个小的“即将发生的事件”部分,显示接下来即将发生的 3 个事件的事件名称、日期和时间。是否可以从日历访问事件?

最佳答案

您可以使用 Google 的日历 API 来编写一些更加定制的日历行为,例如以您描述的方式处理特定事件。请参阅Google Calendar API Guide for Javascript .

API 示例代码中有一个函数与您要实现的目标很接近:

  /**
   * Print the summary and start datetime/date of the next ten events in
   * the authorized user's calendar. If no events are found an
   * appropriate message is printed.
   */
  function listUpcomingEvents() {
    var request = gapi.client.calendar.events.list({
      'calendarId': 'primary',
      'timeMin': (new Date()).toISOString(),
      'showDeleted': false,
      'singleEvents': true,
      'maxResults': 10,
      'orderBy': 'startTime'
    });

    request.execute(function(resp) {
      var events = resp.items;
      appendPre('Upcoming events:');

      if (events.length > 0) {
        for (i = 0; i < events.length; i++) {
          var event = events[i];
          var when = event.start.dateTime;
          if (!when) {
            when = event.start.date;
          }
          appendPre(event.summary + ' (' + when + ')')
        }
      } else {
        appendPre('No upcoming events found.');
      }

    });
  }

假设其他一切正常,您应该能够使用 'maxResults': 3, 而不是 'maxResults': 10, 进行调整,以便获取您想要的基本事件数据。

关于javascript - 在网站中嵌入 Google 日历并使用日历中的事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34189434/

相关文章:

Javascript:动态添加字段

html - 超链接中的鼠标悬停样式

javascript - 在 div 上自定义拖动

javascript - 棘轮弹出窗口关闭的 JS 回调

javascript - 使用 Object.assign(闭包)在工厂内使用导入的模块

javascript - 使用 HTML 和 PHP 的动态表

javascript - 网站内容更改后重新加载内容

javascript - jQuery 鼠标事件处理

javascript - 如何获取我们在谷歌地图中放置街景小人的点的坐标

javascript - 换行后隐藏元素