Почему GmailDraft.send () делает ярлыки черновика gmail исчезающими? - PullRequest
0 голосов
/ 29 ноября 2018

В скрипте Google я делаю следующее: создаю черновик, накладываю на него ярлык, отправляю черновик.Затем, когда я проверяю отправленное письмо в моей учетной записи Gmail, ярлык исчезает!

Мой вопрос: почему это так?

Вот код (я проверял, что этикетка применяется правильно перед отправкой):

var draft = GmailApp.createDraft("test@gmail.com", "Email Subject", "Email Body");
var label = GmailApp.getUserLabelByName("Label Name");
label.addToThread(draft.getMessage().getThread());
draft.send();

ЭтоЭто особенно удивительно, потому что отправка черновика вручную в gmail НЕ удаляет ярлыки таким образом.

Конечно, для решения этой проблемы можно добавить ярлык после отправки (как показано ниже), но для моих целей это не так.Это не удобно, и это все еще оставляет вопрос о том, почему ярлык исчезает без ответа ...

var draft = GmailApp.createDraft("test@gmail.com", "Email Subject", "Email Body");
var label = GmailApp.getUserLabelByName("Label Name");
var message = draft.send();
label.addToThread(message.getThread());

1 Ответ

0 голосов
/ 29 ноября 2018

Вы можете проверить документацию , где говорится, что:

С сообщениями и ветками может быть связано несколько ярлыков;однако черновики сообщений не могут иметь к ним метки .Изменение меток, примененных к ветке, применяет или удаляет указанные метки из всех сообщений в ветке.Вы можете изменить метки, связанные с сообщением или потоком, вызвав messages.modify или threads.modify соответственно.

Таким образом, единственным обходным решением является использование

label.addToThread(message.getThread());

послеотправка черновика.

...