#google-apps-script #google-sheets #triggers
#google-apps-script #google-sheets #триггеры
Вопрос:
Используя Google Apps Script, я хотел бы запланировать обновление данных в Google Sheets, когда документ не открыт.
Я могу создать триггер на основе времени (как показано ниже), но он не привязан к конкретной электронной таблице. Есть ли какой-либо способ создать триггер на основе времени, который привязан к определенной таблице таблиц?
const trigger = ScriptApp.newTrigger('onTriggerTimeBased')
.timeBased()
.onMonthDay(1)
.everyHours(1)
.create();
Комментарии:
1. Что вы подразумеваете под » не прикрепленным «?
Ответ №1:
'onTriggerTimeBased'
Строка в функции — это имя функции, которая будет запущена после введенного вами времени, чтобы вы могли получить электронную таблицу в функции, используя SpreadsheetApp.openById(ssId)
where ssId
— переменная, которая хранит строковое представление идентификатора электронной таблицы. Идентификатор таблицы — это строка, которая идет после https://docs.google.com/spreadsheets/d/
URL-адреса электронной таблицы.
Комментарии:
1. Спасибо. Похоже, ответ отрицательный, вы не можете прикрепить триггер к определенной электронной таблице. При срабатывании триггера необходимо было бы получить ssId из базы данных или где-то еще, где он хранился постоянно, правильно?
2. Возможно, я не понял, что вы имели в виду, прикрепив триггер к определенной электронной таблице. Чтобы управлять электронной таблицей в Google app Script, вам нужно, чтобы она была активной или откуда-то получала его идентификатор. Можете ли вы подробнее рассказать о том, что вы пытаетесь сделать?