【发布时间】:2014-11-07 07:27:54
【问题描述】:
您好,我正在尝试为 gmail-snooze 设置 EVERY-n-week 事件,因此这将是重复发生的事件,而不仅仅是一次。
我想将everyXweek 标记线程从“page”数组中已经创建的Xweeklabeled-threads 保存到“newpage”中。我使用page = oldLabel.getThreads(0, 100); 来获取 Xweek 数据。
我尝试了newpage = everyXweekLabel.page; 和newpage = page[everyXweekLabel];,但是 newpage 从来没有变成一个带有线程的数组......所以它不起作用......
我希望它如何工作:
- 线程将有多个标签。
-
XweekSnooze是我们的迭代倒计时标签 -
everyXweekSnooze是我们的静态标签,用于在放入收件箱后重置线程
一个例子是 thread#1 剩下 1weekSnooze (将在下一次迭代中删除),它还有一个 every8weekSnooze 标签(一旦电子邮件是放入收件箱)
在应用 8weekSnooze 标签后,它会向下迭代 (7weekSnooze, 6...),直到再次将其放入收件箱中,every8weekSnooze 标签将另一个 8weekSnooze 标签放回以进行迭代。
我可以在 n 周内完成这项工作,但我无法让 EVERY-n-week 部分工作,因为我无法弄清楚如何从先前提取的包含 Xweek 标签和其他标签的页面线程中提取 everyXweek 标签.
如果您能提供任何帮助,我们将不胜感激!
谢谢。
日本
function getLabelNameXWeekSnooze(i) {
return "Snooze/" + i + "weekSnooze";
}
function getLabelNameEveryXWeekSnooze(i) {
return "Snooze/" + "every" + i + "weekSnooze";
}
function moveWeekSnoozes() {
var oldLabel, newLabel, page;
for (var i = 1; i <= WEEKS_TRACKED; ++i) {
newLabel = oldLabel;
oldLabel = GmailApp.getUserLabelByName(getLabelNameXWeekSnooze(i));
page = null;
newpage = null;
// Get threads in "pages" of 100 at a time
while(!page || page.length == 100) {
page = oldLabel.getThreads(0, 100);
if (page.length > 0) {
if (newLabel) {
// Move the threads into "today’s" label
newLabel.addToThreads(page);
} else {
// Time to Unsnooze
GmailApp.moveThreadsToInbox(page);
if (MARK_UNREAD) {
GmailApp.markThreadsUnread(page);
}
// after returning mail to inbox please create an
// XweekSnooze label for every thread in page that has associated everyXweekSnooze label
// for example every3weekSnooze thread will need 3weekSnooze label to iterate/delay from
for (var j = 1; j <= WEEKS_TRACKED; ++j) {
// format the label data
everyXweekLabel = GmailApp.getUserLabelByName(getLabelNameEveryXWeekSnooze(j));
XweekLabel = GmailApp.getUserLabelByName(getLabelNameXWeekSnooze(j));
//trying to grab all thread from page that have everyXweek label and save to new page
newpage = everyXweekLabel.page;
if (newpage.length > 0) {
XweekLabel.addToThreads(newpage);
}
}
// Move the threads out of "yesterday’s" label
oldLabel.removeFromThreads(page);
}
}
}
}
【问题讨论】: