如何解决在使用App-Script的Gmail标签名称中使用getThreads时,如何防止按主题或日期分组? 问题:解决方案:摘要:
当我使用GmailApp.getUserLabelByName(labelReceived).getThreads()
时,它会检索所有主题相同且在给定标签内外相同日期收到的所有电子邮件。
有没有一种解决方案可以从唯一给定的标签中获取电子邮件,而无需按主题或日期进行分组?
注意:在Gmail设置中,对话视图处于关闭状态。
解决方法
问题:
- 当前,似乎无法获得带有特定标签的电子邮件
messages
。通过库中内置的Apps脚本只能检索带有标签的包含thread
个标签。
解决方案:
-
使用Advanced Gmail service直接连接到Gmail api。
-
以下代码段获取所有带有标签名称
test
的邮件ID。然后,您可以使用GmailApp.getMessageById
将消息id
的数组转换为GmailMessage
s
摘要:
function getLabelledMessages(labelName = 'test') {
const labelIds = Gmail.Users.Labels.list('me').labels.find(
labelObj => labelObj.name === labelName
).id;
let messagesList,pageToken;
do {
messagesList = Gmail.Users.Messages.list('me',{
labelIds,pageToken,maxResults: 100,});
const messages = messagesList.messages;
if (messages) console.log(JSON.stringify(messages));
} while ((pageToken = messagesList.nextPageToken) !== undefined);
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。