【问题标题】:Emails/drafts sent via Gmail REST API can't be opened in the new Gmail UI通过 Gmail REST API 发送的电子邮件/草稿无法在新的 Gmail 用户界面中打开
【发布时间】:2018-11-06 13:52:55
【问题描述】:

通过 Gmail REST API 发送草稿时,发件人无法在新的 Gmail 用户界面中打开“已发送邮件”文件夹中的邮件。您收到错误消息"The conversation that you requested could not be loaded."。

接收方的消息可以毫无问题地打开,不管是否有新的 UI。

恢复到旧版/经典 Gmail 用户界面允许发件人打开已发送的邮件。

重现步骤:

  1. 在 Gmail 中撰写草稿(新旧 UI 无关紧要)
  2. 通过GET https://www.googleapis.com/gmail/v1/users/me/drafts查找草稿ID
  3. 通过POST https://www.googleapis.com/gmail/v1/users/me/drafts/send 发送草稿,正文为{"id": "<draftId>"}
  4. 返回 Gmail 并切换到新的 Gmail 用户界面,然后尝试在“已发送”文件夹中打开最近发送的草稿。尝试打开邮件将失败。
  5. 恢复到旧的/经典的 Gmail 用户界面并在“已发送”文件夹中打开最近发送的草稿。您将能够毫无问题地打开邮件。
  6. 收件人可以使用新版或旧版 UI 毫无问题地打开邮件。

更新

当损坏的已发送电子邮件收到回复时,它似乎已“修复”,发件人现在可以从新的 Gmail 用户界面打开已发送的电子邮件。这似乎表明 REST API 缺少某些内容,一旦通过其他方式更新线程就会得到修复?

尝试打开损坏的已发送消息时浏览器控制台中的错误消息:

Error: Ppa No message loaded when we received the DETAILED_CONVERSATION_MESSAGES_LOADED event.

【问题讨论】:

  • 我也有同样的问题 - 我找不到任何解决方法。似乎是新 Gmail 用户界面中的一个错误。邮件 100% 有效,我可以使用 IMAP 客户端或旧版 Gmail 用户界面查看邮件。
  • 我认为新的 Gmail UI、旧的 UI 和 Rest API 之间存在“状态偏差”。一个相关问题,新版 Gmail 用户界面中的“未读”与旧版用户界面中的“未读”不同:stackoverflow.com/questions/51858633/…

标签: gmail gmail-api


【解决方案1】:

我无法重现此内容。请注意,在再现步骤中#2 是不必要的。相反,应该分析 #1 中的 drafts.c​​reate() 的结果,新的草稿消息的 id 存在那里。

另外值得注意的是,草稿 ID 与消息 ID 不同。 drafts.c​​reate() 和 drafts.update() 的响应将是一个 Draft ID,而 drafts.send() 的结果将是消息 ID。在 Gmail 用户界面中查看已发送邮件时,请确保您使用的是邮件 ID。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-05-28
    • 2020-02-21
    • 2019-02-04
    • 2019-01-24
    • 1970-01-01
    • 1970-01-01
    • 2018-02-26
    相关资源
    最近更新 更多