Скрипт Google Apps: ответ на существующую ветку электронной почты - PullRequest
0 голосов
/ 13 февраля 2020

Я собрал систему проверки библиотеки, на которую я хотел бы автоматически ответить в исходной цепочке проверки, что их заимствованные предметы просрочены после истечения срока.

Я провел некоторое исследование и тестирование, но столкнулось с препятствиями, связанными с тем, как идентификаторы потоков Gmail отображаются в API. Я собрал все соответствующие данные о заемщике в нашей таблице оформления заказа и был готов сохранить идентификатор потока, полученный из

var foundThread = GmailApp.search('from:me to:jon.doe@company.com,jane.doe@company.com MEDIA CHECKOUT XXXXXXX');
var threadID = foundThread[0];
Logger.log(threadID); //check

, в столбце, но был разочарован, обнаружив, что он не был сохранен как идентифицируемая строка, но вместо этого объект GmailThread. Есть ли способ извлечь из этого уникальные идентификаторы потоков в скрипте Служб Google, которые можно использовать в моих целях? Я хотел не ссылаться только на запрос GmailApp.search (), который вы видите выше, чтобы избежать попадания в аналогичные по теме сообщения электронной почты несвязанного запроса на извлечение (произойдет); отсюда моя любовь к уникальному идентификатору идентификатора потока.

Есть ли лучший способ go по этому поводу? Как хранить объект GmailThread в постоянном массиве где-нибудь? Или я застрял в поиске только по получателям и названиям тем?

Ответы [ 2 ]

0 голосов
/ 14 февраля 2020

Спасибо за помощь. И еще одно небольшое дополнение, чтобы закрыть его, так как я не смог найти его где-либо еще, и это может быть полезно для других, пытающихся сделать то же самое, повторно извлекая поток по идентификатору, если он не был сохранен

var threadID = thread.getId();
...
var thrd = GmailApp.getThreadById(threadID);
thrd.replyAll(msg);
0 голосов
/ 13 февраля 2020

В целях документирования, когда пользователь, публикуемый в комментариях, регистрировал сам объект GmailThread вместо идентификатора, который вам нужен, вы можете получить идентификатор, применив метод getId [1] к GmailThread объект. Код заканчивается так:

var foundThread = GmailApp.search('from:me to:jon.doe@company.com,jane.doe@company.com MEDIA CHECKOUT XXXXXXX');
var threadID = foundThread[0];
Logger.log(threadID.getId()); //check

[1] https://developers.google.com/apps-script/reference/gmail/gmail-thread#getid

...