关于邮件:如何在扩展撰写UI时获取草稿的”正文”和”主题”字段?

How to get the "body" and "subject" fields of a draft when extending compose UI?

我们正在开发一个 Gmail 插件,我们在其中扩展了撰写 UI。

这扩展了撰写窗口,您可以在其中撰写电子邮件。

我们需要正在撰写的邮件的\\'From\\'、\\'To\\'、\\'Subject\\'和\\'Body\\'。

\\'From\\' 可以像这样从 Session 对象中读取

var mySelf = Session.getEffectiveUser().getEmail();

可以从被调用函数的事件对象的draftMetadata中读取\\'To\\'。

\\'Subject\\' 和 \\'Body\\' 不能从函数的事件对象中读取,因为它是一个 composeTrigger。参数包含这些对象:

令我惊讶的是,主题键在那里但没有被填写(是的,我确实输入了一个主题)。

问题:

如何在扩展的 composer UI 中获取用户正在撰写的电子邮件的 \\'Subject\\' 和 \\'Body\\'?

额外信息:

上下文触发动作包含以下对象作为事件对象:

通过上下文触发器阅读一封电子邮件,添加了一个 messageId,其中可以使用 getBodygetSubject 方法。


截至目前,撰写触发事件从不返回 subject 字段的值。

我在这里为此填写了一个错误。单击 a?... 图标以关注此问题并获取更新。这也将有助于确定此问题的优先级。

作为一种解决方法,您可以使用上下文触发器来:

  • 获取 messageId
  • 查找与 messageId 关联的草稿
  • 通过他们的 draftId 获取草稿
  • 从草稿的 Headers 对象中获取主题行。
  • 这仅适用于回复特定消息的草稿。


    我以前从未这样做过,所以这是一个猜测。我使用开发人员工具查看了撰写对话框 html,这就是我注意到的。

    enter

    似乎有一堆隐藏的输入用于存储输入到撰写对话框中的值。所以我会尝试类似的东西:
    formInputs.body 或者 formInput.body 从隐藏元素的名称中获取键的名称。这只是一个猜测。