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

How to open a draft created with Gmail API in browser?

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

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

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

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

有关该问题的更多信息

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

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

我注意到如果你打开草稿 url 就像这个 https://mail.google.com/mail/u/0/#drafts?compose=JHrtffLJpZXxNwzKGMhcjvjBrqfPRwKWvkvJbtWpRffXldzxkNQhmkkBWJsHPbdSPdDgBVKpHKZMNtCVFgXrhwMCVjCdCRqTLJhGvqrXNKFZmJDGZ ,这个 url 也可以从其他选项卡打开草稿编辑器,但是撰写在哪里价值从何而来?

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

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

您的目标:

能够从您邮箱中的草稿中打开直接关注您选择的特定草稿的浏览器选项卡。 (如果我错了请纠正我)。

背景:

  1. 您注意到当聚焦在 UI 中时,草稿在 url 中有一个可见的“撰写”参数。
  2. drafts resource不包含"compose"参数,所以我们无法从API中得到它,而且它也不等于草稿id。

结论:

由于所需参数未通过 API 公开提供,您目前无法实现您的目标。您可以通过为 Gmail API 创建“功能请求”直接向 Google 请求该功能。这是 link Issue Tracker.

制作这个url的方法改变了,现在它是这样的:

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

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

{
  "drafts": [
    {
      "id": "r5632827412362757569",
      "message": {
        "id": "174f4fa0dd96af123",
        "threadId": "174f4f59344d6321"
      }
    }
  ],
  ...
}

因此,要打开此草稿,您需要以下内容 url :

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