Короткий пост про создание, подключение и использование библиотек в гугл скриптах. Больше нечего написать для вводной части. Го создавать
Создание библиотеки
Создаем новую гугл таблицу. Открываем редактор скриптов
В открывшемся редакторе напишем любую функцию, которая вам нравится. Я напишу функцию поиска значения в таблице по ключу.
function getInd(key,sheet,col) {
let lr = sheet.getLastRow();
let chat_id_arr = sheet.getRange(1,col,lr).getValues();
chat_id_arr = chat_id_arr.flat();
let ind = chat_id_arr.indexOf(key);
return ind;
}
Передаю собственно ключ, лист, на котором надо искать, и номер колонки.
Лично мне в функции все понятно, но будем предусмотрительными и задокументируем ее.
Для этого перед функцией прописываем комментарий:
/**
* Returns an index of the key in the sheet's column
*
* @param {number} key The key for searching
* @param {SpreadsheetApp.Sheet} sheet The variable containing link to the sheet
* @param {number} col The number of the column for searching
* @return {number} ind index of the key in the table if table includes a header or index of position in the array
*/
В первой строке говорим, что функция делает. Далее описываем параметры: тип параметра заключаем в фигурные скобки, за скобками - имя параметра, далее - описание.
В последней строке добавим описание возвращаемого результата, следуя той же логике, что и при определении параметров.
В результате получаем что-то вроде этого:
/**
* Returns an index of the key in the sheet's column
*
* @param {number} key The key for searching
* @param {SpreadsheetApp.Sheet} sheet The variable containing link to the sheet
* @param {number} col The number of the column for searching
* @return {number} ind index of the key in the table if table includes a header or index of position in the array
*/
function getInd(key,sheet,col) {
let lr = sheet.getLastRow();
let chat_id_arr = sheet.getRange(1,col,lr).getValues();
chat_id_arr = chat_id_arr.flat();
let ind = chat_id_arr.indexOf(key);
return ind;
}
Сохраняем код и деплоим.
Открывается окно New deployment. Здесь кликаем на шестеренку и выбираем Library
Добавляем описание и кликаем Deploy
После деплоя получаем ссылку и копируем ее.
Из полученного URL нам нужен только id (выделено в ссылке)
Подключение библиотеки
Открываем гугл таблицу и скрипт, из которого хотим вызывать функции из созданной библиотеки. Во вкладке Libraries кликаем на "+"
Вставляем ТОЛЬКО id из URL в строку и кликаем Look up.
Если все успешно, видим сообщение и два дополнительных поля.
В последней строке указываем идентификатор нашей библиотеки, по которому мы будем к ней обращаться в коде.
Возвращаемся к скрипту. Слева во вкладке Libraries видим идентификатор подключенной библиотеки. Когда обращаемся к библиотеке в коде, сразу видим список доступных в этой библиотеке функций (у нас она пока одна)
При выборе функции сразу видим ее описание.
Таким образом, мы создали библиотеку с задокументированной функцией. Аналогично в эту же библиотеку можно добавить другие функции и описание к ним.
Надеюсь, для кого-то пост может быть полезным :-) Спасибо за внимание, жду фидбека.