#google-apps-script #google-sheets #google-sheets-api
#google-apps-script #google-sheets #google-sheets-api
Вопрос:
Я знаю, что устанавливаемые триггеры не выполняются / не запускаются при выполнении сценариев или обновлениях через запросы API. Для запуска триггеров изменение или редактирование должно выполняться «вручную». Есть ли какой-либо обходной путь или решение для этого?
Вот мой пример использования:
- Я разработал HTML-интерфейс, который принимает некоторые данные и сохраняет их в определенной электронной таблице
- Поскольку я не хотел, чтобы какие-либо пользователи имели доступ к внутренней электронной таблице (чтобы ограничить просмотр отправкой других), я создал службу REST с помощью TIBCO Cloud Integration> Google connector, которая записывает данные в электронную таблицу Google
- Когда пользователь отправляет ответ, пользовательский интерфейс внутренне вызывает вышеупомянутый API TIBCO, который, в свою очередь, обновляет электронную таблицу (используя мои учетные данные Google) с помощью ответа, отправленного пользователем
При таком расположении мне не нужно делиться моей электронной таблицей Google со всеми пользователями и предоставлять доступ ко всем отправкам. Я мог бы использовать Google Form, но это слишком просто, а мои требования к пользовательскому интерфейсу довольно сложные.
До этого момента все работало нормально, но в рамках некоторых дополнительных функций я хочу, чтобы некоторые функции (написанные в скрипте серверной электронной таблицы) запускались при «onEdit», когда мой вызов API записывается в электронную таблицу, и именно здесь я застрял. До сих пор я пробовал:
- Предоставление Google Script в качестве REST API
- Предоставление Google Script в качестве библиотечной функции
но во всех случаях мне приходится делиться электронной таблицей с пользователем, который вызывает вызовы, а я этого не хочу, спасибо.
Комментарии:
1. Это невозможно сделать.
2. К сожалению, я не могу понять вашу цель из
I want some functions (written in the script of backend spreadsheet) to trigger on 'onEdit' when my API call write to the spreadsheet
. Я приношу свои извинения за это. Могу я спросить вас о деталях вашей цели? Например, когдаmy API
вы вводите значение с помощью Sheets API, полезен ли триггер onChange для вашей ситуации?3. @Tanaike — Вызов API write не очень гибкий, все, что я могу сделать, это вывести некоторые значения в электронную таблицу. Итак, мой план состоит в том, чтобы установить триггер на ‘onEdit (e)’ и получить диапазон, только что обновленный на ‘e’, внести некоторые изменения в отправку, например, изменить статус сброшенных значений с «в ожидании» на «выполняется», отправить электронное письмо получателю и т.д. Надеюсь, это поможет.
4. Так что же мешает вам делать эти
onEdit
обновления при вызове API? Т.е. код скрипта вашего приложения вызывает API, получает ответ и обновляет электронную таблицу, почему бы вам в той же функции после обновления этих диапазонов не запустить то, что вам нужно для запуска с помощью onEdit? Теоретически вы уже должны были бы знать, какие диапазоны были изменены в этой функции, поскольку вы только что настроили ее.5. Можете ли вы предоставить более подробную информацию о том, что
onEdit
происходит? Пожалуйста, предоставьте код, связанный с пользовательским интерфейсом, службой REST иonEdit
действиями.