- Вы хотите обновить только тему черновика.
- Вы не хотите изменять тело текста, тело HTML и файлы вложений.
- Вы хотите добиться этогоиспользуя Google Apps Script.
Если мое понимание верно, как насчет этого примера скрипта?Я думаю, что есть несколько ответов.Поэтому, пожалуйста, подумайте об этом как об одном из них.
В этом примере скрипта я использовал Class GmailApp и Gmail API.Процесс выполнения сценария выглядит следующим образом.
- Извлечение необработанных данных черновика в виде текста с использованием класса GmailApp.
- Замена субъекта необработанных данных.
- Преобразованиетекст в base64 с использованием
Utilities.base64EncodeWebSafe()
. - Обновление черновика с использованием новых необработанных данных с помощью Gmail API.
С помощью этого потока можно обновлять только тему.
Перед запуском этого сценария, пожалуйста, включите Gmail API в Advanced Services и консоли API.
Включите Gmail API v1 в Advanced Google Services
- В сценарииредактор
- Ресурсы -> Расширенные службы Google
- Включить Gmail API v1
Включить Gmail API на консоли API
- В редакторе сценариев
- Ресурсы -> Проект Cloud Platform
- Просмотр консоли API
- На начальном этапе нажмите "Исследовать и включить API".
- С левой стороны щелкните Библиотека.
- В поле Поиск API и служб введите «Gmail».И нажмите Gmail API.
- Нажмите кнопку Включить.
- Если API уже включен, не выключайте его.
Пример сценария:
function updateDraftmail() {
var newSubject = "new subject"; // Please set new subject.
var userId = "me"; // Please set userId.
var draft = GmailApp.getDrafts()[0]; // Retrieve a draft.
var raw = draft.getMessage().getRawContent();
var newRaw = raw.replace(/Subject: \w.+/, "Subject: " + newSubject);
var newRawB64 = Utilities.base64EncodeWebSafe(newRaw, Utilities.Charset.UTF_8);
Gmail.Users.Drafts.update({message: {raw: newRawB64}}, userId, draft.getId());
}
Ссылки:
Если я неправильно понял ваш вопрос, а это не то, что вы хотите, я прошу прощения.