【问题标题】:Google Calendar Date Issue - End dates always incorrect谷歌日历日期问题 - 结束日期总是不正确
【发布时间】:2020-08-27 23:38:41
【问题描述】:

我在从 Google 日历事件 API 中提取正确日期时遇到问题。问题与结束日期不正确有关。例如,某个区块的 Google 日历事件可能在 8:30-10 运行,但该事件在 8:30 - 7:00 到来。这会影响我们请求的所有结果。代码如下所示:

function listUpcomingEvents() {
        gapi.client.calendar.events.list({
          'calendarId': 'atomic55.net_7smfqj9jlem68s42unp0ubr9js@group.calendar.google.com',
          'timeMin': (new Date()).toISOString(),
          'showDeleted': false,
          'singleEvents': true,
          'maxResults': 150,
          'orderBy': 'startTime'
        }).then(function(response) {

返回的信息是(样本):

即将举行的活动:

  • ADS (2020-08-27T15:30:00-07:00)
  • 垃圾抽屉 (2020-08-28T07:30:00-07:00)
  • 引导下载 (2020-08-28T09:00:00-07:00)
  • 客户端 X (2020-08-28T09:30:00-07:00)
  • 电话/通讯 (2020-08-28T12:30:00-07:00)

开始时间准确,但结束时间不准确(注意所有结束日期都是 7:00)。知道为什么会这样吗?

【问题讨论】:

  • 听起来像是 API 将在日历设置的任何时区返回结果的时区问题。尝试在该日历 ID 上执行 calendar.get 以查看其设置的时区。
  • 感谢您的回复,但如果是时区问题,为什么开始时间准确,而结束时间不正确?我会检查的。
  • 请编辑您的问题,包括来自 calendar.get 的结果。所以我们可以看到它设置的时区。然后包括来自 API 的完整响应以及查看日历中设置的内容。您的代码看起来正确,其他东西正在影响结果。我唯一的猜测是时区。
  • 您是如何创建这些活动的?它们在日历 UI 中是什么样子的?您可以发布活动的完整回复吗?
  • 您好 Ryan55,当您想提供更多信息时,您需要edit 您提出问题,而不是作为回答提供。此外,完整响应是指您在列出/获取事件时获得的完整 JSON 响应,您可以指定 'fields':'*'。另外:在使用events.get 而不是events.list 时,您是否有同样的问题?您是通过日历 API、Claendar UI 还是通过第三方创建活动?

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


【解决方案1】:

感谢您的回复。附件是一个专门用于比较的事件的输出。如您所见,UI 中的时间设置为 9-10PST,这是正确的;但是,对 API 的查询正在返回:

史蒂夫卡特纳项目结束:(2020-09-16T09:00:00-07:00)

https://preview55.com/ryan/gantt/projectoutput.PNG https://preview55.com//ryan/gantt/Capture-projectend.PNG

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-03-22
    • 1970-01-01
    • 2011-05-18
    • 1970-01-01
    • 1970-01-01
    • 2011-11-11
    • 1970-01-01
    相关资源
    最近更新 更多