如何使用 GScript 从 Gmail 中删除用户标签
How to remove user Labels from Gmail using GScript
关于另一个删除 的问题,我想使用相同的代码并简单地将其他用户标签添加到创建的例程中。
套路如下:
function removeLabelsFromMessages(query, labelsToRemove) {
var foundThreads = Gmail.Users.Threads.list('me', {'q': query}).threads
if (foundThreads) {
foundThreads.forEach(function (thread) {
Gmail.Users.Threads.modify({removeLabelIds: labelsToRemove}, 'me', thread.id);
});
}
}
function ProcessInbox() {
removeLabelsFromMessages(
'label:updates OR label:social OR label:forums OR label:promotions',
['CATEGORY_UPDATES', 'CATEGORY_SOCIAL', 'CATEGORY_FORUMS', 'CATEGORY_PROMOTIONS']
)
<...other_stuff_to_process...>
}
我想知道您是否可以向“labelsToRemove”添加另一个用户标签 - 我已经尝试简单地向数组添加另一个标签,但一直收到错误消息,指出无法找到该标签。我确定这只是一个语法错误(我的代码不多),所以关于如何添加它有什么建议吗?
我正在尝试 运行 的代码是:
function CleanReceipts () {
removeLabel (
'label: Receipts',
['CATEGORY_UPDATES', 'CATEGORY_SOCIAL', 'CATEGORY_FORUMS', 'CATEGORY_PROMOTIONS', '@SaneLater']
)
}
其中“@SaneLater”是我也想删除的用户标签的名称。提前致谢。
你得到 Label not found error
的原因是因为 threads.modify
方法需要一个 label id 而不是 a label name .
为了检索此特定标签的 ID,我建议您查看 labels.list
并发出请求以获取适当的值:
let labels = Gmail.Users.Labels.list('me');
console.log(labels);
参考
关于另一个删除
套路如下:
function removeLabelsFromMessages(query, labelsToRemove) {
var foundThreads = Gmail.Users.Threads.list('me', {'q': query}).threads
if (foundThreads) {
foundThreads.forEach(function (thread) {
Gmail.Users.Threads.modify({removeLabelIds: labelsToRemove}, 'me', thread.id);
});
}
}
function ProcessInbox() {
removeLabelsFromMessages(
'label:updates OR label:social OR label:forums OR label:promotions',
['CATEGORY_UPDATES', 'CATEGORY_SOCIAL', 'CATEGORY_FORUMS', 'CATEGORY_PROMOTIONS']
)
<...other_stuff_to_process...>
}
我想知道您是否可以向“labelsToRemove”添加另一个用户标签 - 我已经尝试简单地向数组添加另一个标签,但一直收到错误消息,指出无法找到该标签。我确定这只是一个语法错误(我的代码不多),所以关于如何添加它有什么建议吗?
我正在尝试 运行 的代码是:
function CleanReceipts () {
removeLabel (
'label: Receipts',
['CATEGORY_UPDATES', 'CATEGORY_SOCIAL', 'CATEGORY_FORUMS', 'CATEGORY_PROMOTIONS', '@SaneLater']
)
}
其中“@SaneLater”是我也想删除的用户标签的名称。提前致谢。
你得到 Label not found error
的原因是因为 threads.modify
方法需要一个 label id 而不是 a label name .
为了检索此特定标签的 ID,我建议您查看 labels.list
并发出请求以获取适当的值:
let labels = Gmail.Users.Labels.list('me');
console.log(labels);