通过 Gmail REST API 发送的电子邮件/草稿无法在新的 Gmail 用户界面中打开
Posted
技术标签:
【中文标题】通过 Gmail REST API 发送的电子邮件/草稿无法在新的 Gmail 用户界面中打开【英文标题】:Emails/drafts sent via Gmail REST API can't be opened in the new Gmail UI 【发布时间】:2018-11-06 13:52:55 【问题描述】:通过 Gmail REST API 发送草稿时,发件人无法在新的 Gmail 用户界面中打开“已发送邮件”文件夹中的邮件。您收到错误消息"The conversation that you requested could not be loaded."
。
接收方的消息可以毫无问题地打开,不管是否有新的 UI。
恢复到旧版/经典 Gmail 用户界面允许发件人打开已发送的邮件。
重现步骤:
-
在 Gmail 中撰写草稿(新旧 UI 无关紧要)
通过
GET https://www.googleapis.com/gmail/v1/users/me/drafts
查找草稿ID
通过POST https://www.googleapis.com/gmail/v1/users/me/drafts/send
发送草稿,正文为"id": "<draftId>"
返回 Gmail 并切换到新的 Gmail 用户界面,然后尝试在“已发送”文件夹中打开最近发送的草稿。尝试打开邮件将失败。
恢复到旧的/经典的 Gmail 用户界面并在“已发送”文件夹中打开最近发送的草稿。您将能够毫无问题地打开邮件。
收件人可以使用新版或旧版 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 用户界面中的“未读”与旧版用户界面中的“未读”不同:***.com/questions/51858633/… 【参考方案1】:我无法重现此内容。请注意,在再现步骤中#2 是不必要的。相反,应该分析 #1 中的 drafts.create() 的结果,新的草稿消息的 id 存在那里。
另外值得注意的是,草稿 ID 与消息 ID 不同。 drafts.create() 和 drafts.update() 的响应将是一个 Draft ID,而 drafts.send() 的结果将是消息 ID。在 Gmail 用户界面中查看已发送邮件时,请确保您使用的是邮件 ID。
【讨论】:
以上是关于通过 Gmail REST API 发送的电子邮件/草稿无法在新的 Gmail 用户界面中打开的主要内容,如果未能解决你的问题,请参考以下文章
如何使用来自 postmnan 本机应用程序的 gmail rest api 发送邮件
使用先前存储在数据库中的凭据执行发送电子邮件的 API 端点。 (使用 Gmail REST API)
Gmail Api 可恢复上传 Rest(附件大于 5MB)