VacationSettings.endTime 在 Gmail API 中转换为错误的日期 -- 这是错误还是我做错了什么?

VacationSettings.endTime in Gmail API is converting to the wrong date -- is it a bug or am I doing something wrong?

我正在尝试使用 Gmail.users.settings.updateVacation. I am passing a VacationSettings 更新我的 Gmail 假期回复器,如下所示:

{
    "restrictToContacts": false,
    "responseBodyHtml": "test",
    "responseSubject": "Out Of Office",
    "enableAutoReply": true,
    "restrictToDomain": false,
    "startTime": 1638933300000,
    "endTime": 1638936900000
}

startTimeendTimeepoch ms 并转换为:

| key       | value         | date                     |
|-----------|---------------|--------------------------|
| startTime | 1638933300000 | 2021-12-07 @ 10:15:00 PM |
| endTime   | 1638936900000 | 2021-12-07 @ 11:15:00 PM |

但是,在 Gmail 中,它将结束日期设置为 2021-12-06:

我是不是做错了什么或者这是bug/issue?

Gmail 假期回复器每天而不是每小时工作一次,因此仅从提供的时间戳中获取日期。

您提供的结束日期被视为您回来的第一天,例如,结束日期为 2021 年 12 月 20 日将意味着休假响应者工作到并包括 19 日,而不是结束日期20.

与 Google 的 documentation 或您在 Gmail 浏览器 UI 上看到的相反,您 可以 安排外出回复在 hour/minute/second 打开或关闭。 Gmail 浏览器 UI 可能会显示错误的日期,但它 按预期打开和关闭。

因此,例如,将 endTime 设置为从现在起几分钟后,将在那个时间关闭外出回复,即使 Gmail 浏览器 UI 没有指示。