GoogleApps script подключение Библиотек в глубину

Рейтинг: 0Ответов: 1Опубликовано: 29.05.2023

Есть:

  • Файл 1
  • Библиотека 1
  • Библиотека 2

Подключены в такой же последовательности:

  • Библиотека 1 подключена к Файл 1
  • Библиотека 2 подключена к Библиотека 1.

Все на 1 аккаунте. Библиотеки подключены в режиме разработчика (последний снимок кода). Все работает корректно. Но когда подключаю библиотеки не в режиме разработчика (и открываю доступ к библиотекам по ссылке), то Скрипты из Файла 1, и Библиотеки 1 не могут достучаться до скриптов из Библиотеки 2.

Можно это как-нибудь обойти? Может как-то по особенному нужно развернуть Библиотеку, к которой подключена другая Библиотека? Или подключение библиотек в глубину, в GAS, в принципе, невозможно?

Ответы

▲ 0Принят

Это утверждение неверно. Работает с опубликованными версиями.

Обратите внимание, что версии кода нумеруются сквозным способом. Возможно, стоит отличать версию библиотеки и версию веб-приложения.

Пример

Lib 2

{
  "timeZone": "America/New_York",
  "dependencies": {},
  "exceptionLogging": "STACKDRIVER",
  "runtimeVersion": "V8"
}
function log2(a){
  console.log(a);
}

Lib 1

{
  "timeZone": "Europe/Moscow",
  "exceptionLogging": "STACKDRIVER",
  "runtimeVersion": "V8",
  "dependencies": {
    "libraries": [
      {
        "userSymbol": "Lib2",
        "libraryId": "1TLgTmQLPO16djFD0g--ffowp9NmyDcKvk8OcbNyhBjGkR-dw9fhOswpe",
        "version": "5",
        "developmentMode": false
      }
    ]
  }
}
function log1(a){
  Lib2.log2(a);
}

Рабочий файл

{
  "timeZone": "Europe/Moscow",
  "exceptionLogging": "STACKDRIVER",
  "runtimeVersion": "V8",
  "dependencies": {
    "libraries": [
      {
        "userSymbol": "Lib1",
        "libraryId": "1KJ4xGwCf5vscF8fkKaaiRznN8LYwa17g4unQGY5lZkQhCQEpzKA3n2E1",
        "version": "4",
        "developmentMode": false
      }
    ]
  }
}
function myFunction() {
  Lib1.log1('asdfsdf');
  Lib1.Lib2.log2('asdfdf')
}

введите сюда описание изображения