通过Gmail REST API发送的邮件/草稿无法在新的Gmail用户界面中打开。

22

使用Gmail REST API发送草稿邮件后,发件人在新的Gmail UI中无法打开“已发送邮件”文件夹中的邮件,会出现错误信息"The conversation that you requested could not be loaded."

但是收件方可以正常打开该邮件,无论是新UI还是旧UI都可以。

将Gmail切换回旧的/经典的UI,发件人就可以打开发送的邮件了。

复现步骤:

  1. 在Gmail中编写草稿(新的或旧的UI都可以)
  2. 通过 GET https://www.googleapis.com/gmail/v1/users/me/drafts 找到草稿ID
  3. 使用{"id": "<draftId>"}作为请求体通过 POST https://www.googleapis.com/gmail/v1/users/me/drafts/send 发送草稿
  4. 返回Gmail并切换到新的Gmail UI,然后尝试在Sent文件夹中打开最近发送的草稿。尝试打开邮件会失败。
  5. 将Gmail恢复为旧的/经典的UI,并在Sent文件夹中打开最近发送的草稿。您将能够无问题地打开邮件。
  6. 收件人将能够使用新的或旧的UI无问题地打开该邮件。

更新

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

当尝试打开发送失败的消息时,浏览器控制台会显示以下错误信息:

错误:Ppa在接收到DETAILED_CONVERSATION_MESSAGES_LOADED事件时未加载任何消息。


3
我有同样的问题 - 但是我找不到任何解决方法。看起来是新版Gmail界面的一个bug。这些邮件是100%有效的,我可以使用IMAP客户端或旧版Gmail界面查看它们。 - Robert Grezan
我认为新版Gmail UI、旧版UI和Rest API之间存在“状态偏差”。相关问题是,新版Gmail UI中的“未读”与旧版UI中的“未读”不同:https://stackoverflow.com/questions/51858633/gmail-api-threads-list-returns-incorrect-results-for-unread-queries - payne
1个回答

0

我无法重现这个问题。请注意,在步骤#2中是不必要的。相反,在#1中对drafts.create()的结果进行分析,新草稿消息的id就在那里。

另外值得注意的是,Draft ID并不等同于Message ID。drafts.create()和drafts.update()的响应将是Draft ID,而drafts.send()的结果将是消息ID。在查看Gmail UI中的已发送消息时,请确保使用的是消息ID。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接