Class GmailLabel

Gmail标签

用户在其 Gmail 账号中创建的标签。

方法

方法返回类型简介
addToThread(thread)GmailLabel将此标签添加到给定线程,并强制刷新线程 (GmailThread.refresh())。
addToThreads(threads)GmailLabel将此标签添加到给定线程中,并强制刷新线程。
deleteLabel()void删除此标签。
getName()String获取此标签的名称。
getThreads()GmailThread[]获取标记为此标签的线程。
getThreads(start, max)GmailThread[]获取标记有此标签的一系列线程。
getUnreadCount()Integer获取带有此标签的未读会话数量。
removeFromThread(thread)GmailLabel从给定线程中移除此标签,并强制刷新线程。
removeFromThreads(threads)GmailLabel从给定线程中移除此标签,并强制刷新线程。

详细文档

addToThread(thread)

将此标签添加到给定线程,并强制刷新线程 (GmailThread.refresh())。

// label the first thread in the inbox with the label MyLabel
const label = GmailApp.getUserLabelByName('MyLabel');
const firstThread = GmailApp.getInboxThreads(0, 1)[0];
label.addToThread(firstThread);

参数

名称类型说明
threadGmailThread要标记的线程。

返回

GmailLabel - 此标签,用于链式调用。

授权

使用此方法的脚本需要具有以下一个或多个作用域相关 REST API 中的适当作用域的授权:

  • https://mail.google.com/

另请参阅


addToThreads(threads)

将此标签添加到给定线程中,并强制刷新线程。每次批量最多可为 100 个会话添加标签。

// label the first three threads in the inbox with the label MyLabel
const label = GmailApp.getUserLabelByName('MyLabel');
const threads = GmailApp.getInboxThreads(0, 3);
label.addToThreads(threads);

参数

名称类型说明
threadsGmailThread[]要标记的线程数组。

返回

GmailLabel - 此标签,用于链式调用。

授权

使用此方法的脚本需要具有以下一个或多个作用域相关 REST API 中的适当作用域的授权:

  • https://mail.google.com/

另请参阅


deleteLabel()

删除此标签。

const label = GmailApp.getUserLabelByName('MyLabel');
label.deleteLabel();

抛出

Error - 如果无法删除标签

授权

使用此方法的脚本需要具有以下一个或多个作用域相关 REST API 中的适当作用域的授权:

  • https://mail.google.com/

另请参阅


getName()

获取此标签的名称。

const label = GmailApp.getUserLabelByName('MyLabel');
Logger.log(label.getName());  // logs MyLabel

返回

String - 标签的名称。

授权

使用此方法的脚本需要具有以下一个或多个作用域相关 REST API 中的适当作用域的授权:

  • https://mail.google.com/

getThreads()

获取标记为此标签的线程。

如果所有线程的大小超出系统能够处理的范围,此调用将会失败。如果线程大小未知且可能非常大,请使用 getThreads(start, max),并在每次调用中指定要检索的线程范围。

// Log the subject lines of the threads labeled with MyLabel
const label = GmailApp.getUserLabelByName('MyLabel');
const threads = label.getThreads();
for (let i = 0; i < threads.length; i++) {
  Logger.log(threads[i].getFirstMessageSubject());
}

返回

GmailThread[] - 标记有此标签的线程数组。

授权

使用此方法的脚本需要具有以下一个或多个作用域相关 REST API 中的适当作用域的授权:

  • https://mail.google.com/

getThreads(start, max)

获取标记有此标签的一系列线程。

// log the subject lines of up to the first 30 threads with the label MyLabel
const label = GmailApp.getUserLabelByName('MyLabel');
const threads = label.getThreads(0, 30);
for (let i = 0; i < threads.length; i++) {
  Logger.log(threads[i].getFirstMessageSubject());
}

参数

名称类型说明
startInteger起始线程的索引。
maxInteger要返回的最大线程数。

返回

GmailThread[] - 标记有此标签的线程数组。

授权

使用此方法的脚本需要具有以下一个或多个作用域相关 REST API 中的适当作用域的授权:

  • https://mail.google.com/

getUnreadCount()

获取带有此标签的未读会话数量。

// log the number of unread threads labeled with MyLabel
const label = GmailApp.getUserLabelByName('MyLabel');
Logger.log(label.getUnreadCount());

返回

Integer - 未读的标记会话的数量。

授权

使用此方法的脚本需要具有以下一个或多个作用域相关 REST API 中的适当作用域的授权:

  • https://mail.google.com/

removeFromThread(thread)

从给定线程中移除此标签,并强制刷新线程。

// remove the label MyLabel from the first thread in the inbox
const label = GmailApp.getUserLabelByName('MyLabel');
const firstThread = GmailApp.getInboxThreads(0, 1)[0];
label.removeFromThread(firstThread);

参数

名称类型说明
threadGmailThread线程未标记。

返回

GmailLabel - 此标签,用于链式调用。

授权

使用此方法的脚本需要具有以下一个或多个作用域相关 REST API 中的适当作用域的授权:

  • https://mail.google.com/

另请参阅


removeFromThreads(threads)

从给定线程中移除此标签,并强制刷新线程。每次最多可批量移除 100 个会话的标签。

// remove the label MyLabel from the first three threads in the inbox
const label = GmailApp.getUserLabelByName('MyLabel');
const threads = GmailApp.getInboxThreads(0, 3);
label.removeFromThreads(threads);

参数

名称类型说明
threadsGmailThread[]要取消标签的线程数组。

返回

GmailLabel - 此标签,用于链式调用。

授权

使用此方法的脚本需要具有以下一个或多个作用域相关 REST API 中的适当作用域的授权:

  • https://mail.google.com/

另请参阅