如何从谷歌日历获取资源的时间表?

时间:2015-06-18 18:38:22

标签: javascript google-api google-calendar-api

我们使用Google日历安排会议。我们已将每个会议室设置为“资源”,以便您可以通过将资源添加到会议中来查看可用性并预订房间。

我想做的是显示每个房间每个房间的今日时间表。

我没有看到简单地使用谷歌日历的方法,所以我试图通过谷歌的API以编程方式使用javascript。我可以获得当前用户的日程安排(参见下面的代码),但不是资源的日程安排。

是否有人知道是否可以通过视觉方式将单个资源的计划作为一天的计划或以编程方式获得,以便我可以创建一天的计划?

  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 + ')');
          var attendees = event.attendees;
          if (attendees.length > 0) {
            for (i=0; i<attendees.length; i++) {
              var attendee = attendees[i];
              if (attendee.resource) {
                appendPre('   RESOURCE: ' + attendee.displayName + ' (' + attendee.json + ')');
              } else {
                appendPre('   ' + attendee.displayName);
              }
            }
          }
        }
      } else {
        appendPre('No upcoming events found.');
      }

    });
  }

2 个答案:

答案 0 :(得分:1)

您需要找到资源的ID(这是一个电子邮件地址 - resourceEmail - 您可以通过资源API https://developers.google.com/admin-sdk/calendar-resource/查看)。完成后,如果登录帐户具有对该资源日历的读取权限,则只需将查询中的calendarId替换为resourceEmail即可。

答案 1 :(得分:0)

  

如果只是使用谷歌日历,我还没有办法做到这一点......

使用luc答案中描述的相同ID,您可以在浏览器中查看资源日历。

链接看起来像这样,例如:

https://www.google.com/calendar/embed?src=CALENDAR-ID@resource.calendar.google.com&mode=WEEK&wkst=1&showCalendars=0

请注意,您可以通过网址参数控制视图,因此很容易在浏览器中保留快捷方式。

screenshot

查看Google日历应用中的资源日历:

  1. 在&#34;其他日历&#34;的右侧,打开菜单并选择&#34;浏览有趣的日历&#34;。
  2. 关于&#34;有趣的日历&#34;页面,选择&#34;更多&#34;,然后&#34; 域的资源&#34;。
  3. 找到您感兴趣的资源,然后预览日历。
  4. 要获取日历ID,请单击&#34;订阅&#34;按钮(预览的右下角),将打开一个带有确认对话框的新窗口。虽然这是可见的,但可以从URL栏复制日历的ID,例如, https://www.google.com/calendar/render?cid=CALENDAR-ID@resource.calendar.google.com&blah...