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

Posted

技术标签:

【中文标题】Gmail API 中的 VacationSettings.endTime 转换为错误的日期 - 是错误还是我做错了啥?【英文标题】:VacationSettings.endTime in Gmail API is converting to the wrong date -- is it a bug or am I doing something wrong?Gmail API 中的 VacationSettings.endTime 转换为错误的日期 - 是错误还是我做错了什么? 【发布时间】:2022-01-13 02:28:28 【问题描述】:

我正在尝试使用 Gmail.users.settings.updateVacation 更新我的 Gmail 假期回复。我像这样传递VacationSettings


    "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

我做错了什么还是这是一个错误/问题?

【问题讨论】:

【参考方案1】:

Gmail 假期响应者每天而不是每小时工作,因此只有日期来自提供的时间戳

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

【讨论】:

嗯。键名是startTimeendTime。有Time 在他们让我认为它适用于时间水平。让我测试一下。 好的,所以,这很有趣。我将 OOO 设置为现在开始并在 5 分钟后结束。它在 Gmail UI 中显示了错误的日期它确实在 5 分钟后自动关闭了我的 OOO。所以代码按预期工作——用户界面只是没有显示正确的东西。【参考方案2】:

与 Google 的 documentation 或您在 Gmail 浏览器 UI 上看到的相反,您可以安排假期响应程序在小时/分钟/秒打开或关闭。 Gmail 浏览器用户界面可能会显示错误的日期,但它按预期打开和关闭。

因此,例如,将 endTime 设置为从现在开始的几分钟后,将在那个时候关闭假期响应程序,即使 Gmail 浏览器 UI 没有表明这一点。

【讨论】:

以上是关于Gmail API 中的 VacationSettings.endTime 转换为错误的日期 - 是错误还是我做错了啥?的主要内容,如果未能解决你的问题,请参考以下文章

无法使用 Gmail API 中的高级搜索来搜索特定的彩色星(超级星)。

NodeJS 中的 API Gmail:(节点:14592)UnhandledPromiseRejectionWarning:错误:委派被拒绝

如何使用 Gmail API 中的 Drafts.send 在主题中发送 unicode 字符?

如何在客户端中使用 Firebase Auth gmail 保护 NestJS 中的 API?

如何使用谷歌联系人api以编程方式将手机联系人同步到android中的gmail

使用先前存储在数据库中的凭据执行发送电子邮件的 API 端点。 (使用 Gmail REST API)