如何在浏览器中打开使用 Gmail API 创建的草稿?

Kud*_*dry 0 email url gmail gmail-api

我正在尝试使用 gmail API 创建 gmail 草稿并在新选项卡中打开它。

当我尝试使用以下网址打开草稿: https: //mail.google.com/mail/u/0/#drafts/草稿 id 时,从外部网络它不会打开草稿。相反,它列出了草稿。如果我在 Gmail 选项卡中执行相同操作,它会按预期工作。

您可以按照以下步骤重现它

  1. 选择任何草稿并复制其消息 id ,您可以使用
  2. 创建一个 url,加入https://mail.google.com/mail/u/0/#drafts/ + 您在上一步中获得的邮件 ID。
  3. 在 Chrome 中打开一个新选项卡并粘贴它,它会将您发送到草稿列表。
  4. 如果您将相同的网址粘贴到同一选项卡中,它将打开草稿。

有关问题的更多信息

它不适用于https://mail.google.com/mail/u/0/#drafts/?compose=都不是

当我尝试从另一个选项卡控制台错误打开草稿时,Chrome 控制台抛出此错误

我注意到,如果您打开草稿,网址就像这样https://mail.google.com/mail/u/0/#drafts?compose=JHrtffLJpZXxNwzKGMhcjvjBrqfPRwKWvkvJbtWpRffXldzxkNQhmkkBWJsHPbdSPdDgBVKpHKZMNtCVFgXrhwMCVjCdCRqTLJhGvqrXNK FZmJDGZ ,此网址也可以从其他选项卡打开草稿编辑器,但是compose 值从何而来?

我知道这不是 API 错误或问题,但如果有人遇到同样的问题并且知道任何解决方法,我将不胜感激。

所以问题是,如何创建一个 url 来使用 Gmail API 打开 Gmail 草稿?

Kud*_*dry 7

改变这个 url 的方式,现在它的工作方式如下:

mail.google.com/mail/#inbox?compose=draft.message.id

如果你列出你的草稿,你会得到

{
  "drafts": [
    {
      "id": "r5632827412362757569",
      "message": {
        "id": "174f4fa0dd96af123",
        "threadId": "174f4f59344d6321"
      }
    }
  ],
  ...
}
Run Code Online (Sandbox Code Playgroud)

因此,要打开此草稿,您需要以下网址:

mail.google.com/mail/#inbox?compose=174f4fa0dd96af123

  • 正如您所建议的,我在问题跟踪器中创建了一个功能请求,他们用这个解决方案回复了我。API 文档没有此信息,这意味着此解决方案可能会像前一个解决方案一样停止工作...由于这不是 API 功能,他们不对此负责,因此它可能会随时更改 (2认同)