Поддержка включенных API в сценарии с привязкой к контейнеру для шаблона Google Sheet

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

Однако, когда учителя копируют из шаблона, в консоли Google создается новый проект без включенных API для этого нового проекта. Им нужно будет войти в консоль разработчика и включить Classroom API, чтобы он работал ...

Нет! Это слишком хлопотно для моих коллег-учителей! Там должен быть лучший способ. Что я делаю неправильно? Как мой скрипт может поддерживать вызовы API для всех копий электронной таблицы? Нужно ли мне публиковать свой сценарий определенным образом или настраивать мой проект определенным образом? Как здесь правильный подход, ребята?

Эта ошибка при использовании скрипта в скопированной электронной таблице. Но, конечно, отлично работает в исходном файле шаблона.

API Google Classroom ранее не использовался в проекте project-id-xxxxxxxxxxxxxxx или отключен. Включите его, посетив https://console.developers.google.com/apis/api/classroom.googleapis.com/overview?project=project-id-xxxxxxxxxxxxxxxx, затем повторите попытку. Если вы недавно включили этот API, подождите несколько минут, чтобы действие распространялось на наши системы, и повторите попытку.




Ответы (1)


Вы должны опубликовать свой скрипт как надстройку для Таблиц: https://developers.google.com/apps-script/add-ons/

Это дает вам следующие преимущества:

  1. при копировании электронной таблицы (с включенной надстройкой) нет необходимости вручную включать API, они остаются включенными;
  2. когда вы обновляете код своего дополнения, он автоматически обновляется для всех таблиц, в которых он был включен, поэтому вам не нужно копировать изменения вручную.
person Kos    schedule 02.12.2017
comment
Ваш ответ имеет смысл. Но у меня не работает .... Опубликовал аддон. Включите надстройку в электронной таблице. Я делаю копии таблицы. Я нажимаю кнопку с изображением, чтобы активировать сценарий, он запрашивает разрешения, я разрешаю ... и затем я получаю, что API Google Classroom не использовался в проекте project-id-xxxxxxxxxxxx раньше или отключен. .... бла-бла Должен ли я переделывать таблицу с шаблоном, используя только аддон? - person Martin Vivian; 07.12.2017
comment
Если я сделаю еще одну таблицу и включу в ней надстройку. Отлично работает! Но если я попытаюсь использовать это в качестве шаблона, то копии этой таблицы не будут поставляться с включенным дополнением. Я хочу аддон, привязанный к электронной таблице, и он копирует! - person Martin Vivian; 07.12.2017
comment
Я думаю, мне может потребоваться отправить его как правильный шаблон, а не просто скопировать. На самом деле это может быть проблемой. - person Martin Vivian; 07.12.2017
comment
›Должен ли я переделывать электронную таблицу с шаблоном только с помощью надстройки? Безусловно - person Kos; 07.12.2017