Gmail Apps脚本功能列出所有草稿邮件的内容
Gmail Apps script function to list contents of All draft messages
我正在寻找 Gmail 的 Google Apps 脚本,它会列出最新草稿邮件的内容。到目前为止我的代码是:
function listDrafts() {
var drafts = Gmail.Users.Drafts.list('me')
if (drafts.drafts.length == 0) {
Logger.log('No draft messages found.');
} else {
Logger.log('Drafts:');
for (var i = 0; i < drafts.drafts.length; i++) {
var draft = drafts.drafts[i].message.payload.headers[i].value;
Logger.log('- %s', draft);
}
}
}
但是,我在 运行 上不断收到错误消息。感谢任何帮助。
根据您的脚本,当 Gmail API 在高级 Google 服务中启用时,我认为 var draft = drafts.drafts[i].message.payload.headers[i].value;
行可能会发生错误,因为 drafts.drafts[i].message.payload
returns undefined
。如果我的理解是正确的,下面的修改怎么样?
修改后的脚本:
当你的脚本修改后,下面的修改怎么样?
从:
var draft = drafts.drafts[i].message.payload.headers[i].value;
到:
var draft = Gmail.Users.Drafts.get("me", drafts.drafts[i].id).message.payload.headers[i].value;
或
到:
var headers = Gmail.Users.Drafts.get("me", drafts.drafts[i].id).message.payload.headers;
for (var j = 0; j < headers.length; j++) {
Logger.log(headers[j].value)
}
注:
参考文献:
如果我误解了您的问题并且这不是您想要的方向,我深表歉意。
编辑:
- 您想从
Gmail.Users.Drafts
的 headers 检索电子邮件。
对于这种情况,下面的修改怎么样?
修改后的脚本:
从:
var draft = drafts.drafts[i].message.payload.headers[i].value;
到:
var headers = Gmail.Users.Drafts.get("me", drafts.drafts[i].id).message.payload.headers;
for (var j = 0; j < headers.length; j++) {
var search = ["From", "To"];
if (search.indexOf(headers[j].name) != -1) {
Logger.log(headers[j].value)
}
}
- 如果要取回"From"和"To"以外的值,请修改
var search = ["From", "To"];
我正在寻找 Gmail 的 Google Apps 脚本,它会列出最新草稿邮件的内容。到目前为止我的代码是:
function listDrafts() {
var drafts = Gmail.Users.Drafts.list('me')
if (drafts.drafts.length == 0) {
Logger.log('No draft messages found.');
} else {
Logger.log('Drafts:');
for (var i = 0; i < drafts.drafts.length; i++) {
var draft = drafts.drafts[i].message.payload.headers[i].value;
Logger.log('- %s', draft);
}
}
}
但是,我在 运行 上不断收到错误消息。感谢任何帮助。
根据您的脚本,当 Gmail API 在高级 Google 服务中启用时,我认为 var draft = drafts.drafts[i].message.payload.headers[i].value;
行可能会发生错误,因为 drafts.drafts[i].message.payload
returns undefined
。如果我的理解是正确的,下面的修改怎么样?
修改后的脚本:
当你的脚本修改后,下面的修改怎么样?
从:var draft = drafts.drafts[i].message.payload.headers[i].value;
到:
var draft = Gmail.Users.Drafts.get("me", drafts.drafts[i].id).message.payload.headers[i].value;
或
到:var headers = Gmail.Users.Drafts.get("me", drafts.drafts[i].id).message.payload.headers;
for (var j = 0; j < headers.length; j++) {
Logger.log(headers[j].value)
}
注:
参考文献:
如果我误解了您的问题并且这不是您想要的方向,我深表歉意。
编辑:
- 您想从
Gmail.Users.Drafts
的 headers 检索电子邮件。
对于这种情况,下面的修改怎么样?
修改后的脚本:
从:var draft = drafts.drafts[i].message.payload.headers[i].value;
到:
var headers = Gmail.Users.Drafts.get("me", drafts.drafts[i].id).message.payload.headers;
for (var j = 0; j < headers.length; j++) {
var search = ["From", "To"];
if (search.indexOf(headers[j].name) != -1) {
Logger.log(headers[j].value)
}
}
- 如果要取回"From"和"To"以外的值,请修改
var search = ["From", "To"];