我们正在开发一个 Gmail 插件,其中 extend the compose UI .
这会扩展您可以撰写电子邮件的撰写窗口。
我们需要正在撰写的邮件的“发件人”、“收件人”、“主题”和“正文”。
可以像这样从 Session 对象中读取“From”
var mySelf = Session.getEffectiveUser().getEmail();
可以从正在调用的函数的事件对象的 DraftMetadata 中读取“To”。
function composeEmail(event) { console.log(event.draftMetadata.toRecipients); }
无法从函数的事件对象中读取“Subject”和“Body”,因为它是 composeTrigger。该参数包含这些对象:
{
formInput = {},
clientPlatform = web,
formInputs = {},
parameters = {},
draftMetadata = {
toRecipients = [test @test.com],
subject = ,
bccRecipients = [],
ccRecipients = []
}
}
令我惊讶的是,主题键在那里但没有填写(是的,我确实输入了主题)。
问题:
如何在扩展编写器 UI 中获取用户正在撰写的电子邮件的“主题”和“正文”?
额外信息:
上下文触发操作包含以下对象作为事件对象:
{
clientPlatform = web,
messageMetadata = {
messageId = 16e agg7323451256989f68,
accessToken = AAGdOAawdaAOW8PWchmdawdk0N13STKnBPMAOXVjZVHyQMfAawdBtgEIrS6N8y5h2BOZnKFPlfsl5VBsyPiF7YiONOoP7XVjKZawdi - E6vI - jVU92dPmfj3RNmXfawdawdeaNMrXehAFLm
}
}
通过上下文触发器读取电子邮件,将添加一个 messageId
,其中可以使用 getBody
和 getSubject
方法。
最佳答案
到目前为止,Compose 触发事件永远不会返回 subject
字段的值。
我已经为此修复了一个错误here 。单击 ★ 图标关注此问题并获取更新。这也将有助于优先考虑此问题。
作为解决方法,您可以使用上下文触发器来:
- 获取
messageId
- 查找与该
messageId
关联的草稿 - 通过
draftId
获取草稿 - 从草稿上的
Headers
对象中获取主题行。
这仅适用于正在回复特定消息的草稿。
关于email - 扩展撰写UI时如何获取草稿的 "body"和 "subject"字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59052163/