【发布时间】:2020-03-21 22:40:39
【问题描述】:
我们正在开发一个 Gmail 插件,我们在其中 extend the compose UI。
这扩展了撰写窗口,您可以在其中撰写电子邮件。
我们需要正在撰写的邮件的“发件人”、“收件人”、“主题”和“正文”。
'From' 可以像这样从 Session 对象中读取
var mySelf = Session.getEffectiveUser().getEmail();
“To”可以从被调用函数的事件对象的 DraftMetadata 中读取。
function composeEmail(event) { console.log(event.draftMetadata.toRecipients); }
'Subject' 和 'Body' 不能从函数的事件对象中读取,因为它是一个 composeTrigger。参数包含这些对象:
{
formInput = {},
clientPlatform = web,
formInputs = {},
parameters = {},
draftMetadata = {
toRecipients = [test @test.com],
subject = ,
bccRecipients = [],
ccRecipients = []
}
}
令我惊讶的是,主题键存在但未填写(是的,我确实输入了主题)。
问题:
如何在扩展的 composer UI 中获取用户正在撰写的电子邮件的“主题”和“正文”?
额外信息:
上下文触发动作包含以下对象作为事件对象:
{
clientPlatform = web,
messageMetadata = {
messageId = 16e agg7323451256989f68,
accessToken = AAGdOAawdaAOW8PWchmdawdk0N13STKnBPMAOXVjZVHyQMfAawdBtgEIrS6N8y5h2BOZnKFPlfsl5VBsyPiF7YiONOoP7XVjKZawdi - E6vI - jVU92dPmfj3RNmXfawdawdeaNMrXehAFLm
}
}
通过上下文触发器阅读电子邮件,将添加messageId,其中可以使用getBody 和getSubject 方法。
【问题讨论】:
标签: email google-apps-script gmail add-on