循环播放特定 Gmail 标签的邮件(不是线程)

Looping on messages (not threads) of a specific Gmail label(循环播放特定 Gmail 标签的邮件(不是线程))

本文介绍了循环播放特定 Gmail 标签的邮件(不是线程)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我通过以下步骤将特定的消息(而不是整个线程)添加到标签to_process:

I added specific messages (and not the whole thread) to a label to_process with these steps:

  1. 在 Gmail 设置中关闭 对话模式

将标签 to_process 应用于特定消息

Apply the label to_process to specific messages

显示消息时,我可以确认只添加了特定的消息.例如,同一线程中的另一条消息没有此标签.这很好.

When displaying the messages, I can confirm that only the specific messages have been added. For example, another message which is in the same thread doesn't have this label. This is good.

现在我想循环播放来自 Google Apps 脚本的所有这些消息.但问题是 API 只能授予对附加到某个标签的 threads 的访问权限:

Now I'd like to loop on all these messages from Google Apps Script. But the problem is that the API can only give access to threads attached to a certain label:

var threads = GmailApp.search('label:to_process'); 
for (var i = 0; i < threads.length; i++) {
    // problem: here I cannot access to messages but only threads
}

var label = GmailApp.getUserLabelByName("to_process");
var threads = label.getThreads();
for (var i = 0; i < threads.length; i++) {
    // problem: here I cannot access to messages but only threads       
}

如何循环播放与标签关联的消息(而不是线程)?

开始解决方案,但我不知道如何继续:

Beginning of a solution but I don't know how to continue:

var threads = GmailApp.search('label:to_process'); 
for (var i = 0; i < threads.length; i++) {
    var messages = threads[i].getMessages();
    for (var j = 0; j < messages.length; j++) {
        var message = messages[j];

        // pseudo code here because getMessageLabels doesn't exist
        //if ("to_process" is in message.getMessageLabels()) {
        /

本文标题为:循环播放特定 Gmail 标签的邮件(不是线程)