尝试构建一个简单的功能,在执行时将打开的电子邮件保存.eml
到本地计算机。
使用以下代码将电子邮件另存为original_msg.txt
在 Chrome 设置中,您可以强制打开“另存为”对话框并将其默认为.eml
,这很好,但问题是当您执行脚本时,它会打开一个空白选项卡,即使在下载完成后仍保持打开状态。
我正在考虑以某种方式关闭选项卡,或者改变我处理这项任务的方式。
代码.gs
function saveEmail(e) {
// Activate temporary Gmail add-on scopes, in this case so that the
// open message metadata can be read.
var accessToken = e.messageMetadata.accessToken;
GmailApp.setCurrentMessageAccessToken(accessToken);
// Build URL to open based on a base URL and the message ID.
var messageId = e.messageMetadata.messageId;
var url = "https://mail.google.com/mail/u/0?view=att&th=" + messageId + "&attid=0&disp=comp&safe=1&zw";
return CardService.newUniversalActionResponseBuilder()
.setOpenLink(CardService.newOpenLink()
.setUrl(url))
.build();
}
appscript.json
{
"oauthScopes": [
"https://www.googleapis.com/auth/gmail.addons.execute",
"https://www.googleapis.com/auth/gmail.addons.current.message.metadata"
],
"gmail": {
"name": "Save Email",
"logoUrl": "https://www.example.com/hosted/images/2x/my-icon.png",
"universalActions": [{
"text": "Save Email",
"runFunction": "saveEmail"
}],
"version": "TRUSTED_TESTER_V2"
}
}