Удаленно обновляйте листы на стороне клиента с помощью новой версии библиотеки - PullRequest
0 голосов
/ 29 марта 2019

У меня есть вопрос об использовании библиотек в Google Sheets.Я разработал автономный скрипт приложений, опубликованный как библиотека.Эта библиотека используется 150 файлами Google Sheets (я сделал это для централизации и скрытия некоторого кода от пользователей).

Сегодня мне нужно обновить код библиотеки, чтобы добавить некоторые функции.Я хотел бы знать, знаете ли вы решение для удаленного обновления клиентов на 150 листов, чтобы они соответствовали новой версии библиотеки на стороне клиента (я не использую режим "dev").

Кажется, чтоApps Script API может вносить изменения в саму библиотеку, но не на стороне клиента (листы).

У кого-то еще была эта проблема, и как вы с ней справились?

1 Ответ

2 голосов
/ 29 марта 2019

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

Если вы хотите, чтобы ваш развернутый код автоматически обновлялся до последней версии, вы должны использовать дополнительную модель или (когда вы знаете, что у вас будет обратная совместимость для интерфейса вашей библиотеки) получать доступ к своим библиотекам из вашего скрипты в режиме разработки.

Вы можете собрать необходимые идентификаторы сценариев (Файл -> Свойства проекта), для которых необходимо обновить библиотеку, и вы можете обновить содержимое проекта сценария (включая файл манифеста appsscript.json, в котором указана версия библиотеки) через приложения Скрипт API. Для этого вам может пригодиться clasp.

...