【发布时间】:2018-09-07 12:07:14
【问题描述】:
好的,我认为网络 Gmail 有点搞砸了。我运行了一个 Google 应用程序脚本,该脚本将我的“待办事项”标签部分添加到我手动加星标的任何线程中,然后将其归档并取消星标。下面是一个sn-p。我会很感激任何帮助。
运行脚本后,线程会获得标签并取消星标,但网络 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);
}
【问题讨论】:
-
这能持续多久? IE。它是暂时的,并且在 5 分钟内消失了吗?如果您打开一个新的浏览器会话,它会立即消失吗?
-
它是永久性的。我在个人帐户和 gsuite 帐户中的网络 Gmail 中看到了相同的行为。我实际上必须点击星星才能让它消失。我最近发现了这个问题,但它影响了几个月前的电子邮件
-
如果你使用
GmailApp.unstarMessage(messages[i])会出现这种情况吗?或者如果您在unstar()之后调用refresh()? -
我很想知道是否有人可以复制。为电子邮件加注星标。运行上面的代码。在您的收件箱中或查看电子邮件时,星号是否仍显示为选中状态?电子邮件是否显示在已加星标的文件夹中?请告诉我我并不孤单。
-
我向谷歌报告了这个错误:issuetracker.google.com/77320923