好的,我认为网络 Gmail 很糟糕。我运行一个 Google 应用程序脚本,该脚本将我的“待办事项”标签部分添加到我手动加星标的任何线程中,然后将其归档并取消星标。下面是一个片段。我很感激任何帮助。
运行脚本后,线程获得标签并取消星标,除了网络 Gmail 中线程/消息旁边的星形图标仍显示为选中状态。如果我转到已加星标的消息标签/文件夹,则不会显示任何内容。如果我立即重新运行脚本,它不会找到任何已加星标的线程。这似乎表明脚本工作正常。问题似乎是网络 Gmail 仍然希望将其显示为已加星标,即使它不是。 Gmail Android 应用程序不会显示应用于线程的星标。图片更值钱...
脚本运行后我的收件箱是什么样子的。请注意星号:
但没有加星标的消息:
function addStarred2ToDo() {
var threads = GmailApp.search('is:starred');
for (var h in threads) {
var messages = threads[h].getMessages();
for (var i in messages) {
if (messages[i].isStarred()) {
messages[i].unstar();
}
}
}
}
编辑:
我也试过这个,但都没有产生预期的结果。
function thisOne() {
var threads = GmailApp.search('is:starred');
for (var h in threads) {
var messages = threads[h].getMessages();
for (var i in messages) {
if (messages[i].isStarred()) {
messages[i].unstar().refresh();
}
}
}
}
function andThisOne() {
var threads = GmailApp.search('is:starred');
var toUnstar = [];
threads.forEach(function (thread) {
thread.getMessages().forEach(function (message) {
if (message.isStarred()) {
toUnstar.push(message);
}
});
});
GmailApp.unstarMessages(toUnstar);
}
最佳答案
如果您刷新 gmail 并将鼠标悬停在星星上,您将看到弹出窗口显示它不是已盯着看。此外,当您从 gmail 中选择星标时,这似乎是一个问题,因为当我的脚本取消星标时,由我的过滤器设置的星标可以正常工作。
关于google-apps-script - 即使在 Apps Script 取消星标后,Web Gmail 仍将邮件显示为已加星标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49540711/