Если у меня есть функция, написанная в редакторе сценариев Google Spreadsheets, которая извлекает данные из электронной таблицы в формате JSON, как мне получить доступ к этой функции вне редактора сценариев в моем собственном коде? Я хочу получить доступ к этому JSON и манипулировать им в своем собственном коде. Есть ли способ сделать это с помощью API электронных таблиц? Я форматирую его определенным образом в редакторе сценариев, поэтому я не могу просто использовать предоставленный json-in-script. В вызове (http://spreadsheets.google.com/feeds/feed/key/worksheet/public/basic?alt=json-in-script&callback=myFunc) есть функция обратного вызова для myFunc. Могу ли я использовать функцию, которую я определил в редакторе скриптов, вместо myFunc?
Как я могу получить доступ к функциям, определенным в редакторе скриптов Google, за его пределами?
Ответы (1)
После вашего комментария, в котором приведены некоторые подробности вашего варианта использования, есть функция Google-Apps-Script, специально разработанная для предоставления доступа к некоторым функциям, которые вы написали из другого скрипта: она называется libraries и полностью описано в документации.
ИЗМЕНИТЬ после второго комментария:
Вызов функции GS из скрипта javascript (или любого другого языка), который не является скриптом Google (GS), невозможен, если вы планируете использовать его как функцию...
но
то, что вы можете в конечном итоге сделать - в зависимости от данных, которые должна обрабатывать эта функция, - это развернуть скрипт как веб-приложение, работающее как служба, и вызвать эту службу из вашего внешнего приложения, используя эквивалент urlFetch (это служба, которая делает это в GS).
У службы будет URL-адрес, к которому вы можете добавить параметры, и она вернет результат, который вы можете использовать в своем локальном приложении.
Конечно, этот рабочий процесс имеет несколько ограничений и может быстро усложниться, но во многих случаях он вполне работоспособен.
Обратите внимание, что URL-адрес, который вам нужно будет использовать в «версии», заканчивается на .exec (не уверен, что это слово правильное, но я имею в виду опубликованный URL-адрес, который соответствует версии вашего скрипта, а не «.dev», который тот можно использовать для тестирования скрипта в GS).
Вы найдете подробности об этом в документации и во многих других ресурсах, включая SO. URL-адрес обычно выглядит примерно так:
https://script.google.com/macros/s/AKfycbyw-2WtmF7wsd__________azjImbMWm5YrxB8/exec?someParameter=someValue&otherParam=otherVal // etc...