Топ питань
Часова шкала
Чат
Перспективи
Google Apps Script
Хмарна мова сценаріїв для розробки легких додатків. З Вікіпедії, вільної енциклопедії
Remove ads
Apps Script — скриптова платформа, розроблена в Google для розробки легких веб додатків на платформі Google Workspace. Google Apps Script початково розроблена Майком Гармом як побічний проєкт під час роботи над Google Sheets.[2] Google Apps Script вперше публічно анонсований у травні 2009, коли бета тестування програми було анонсовано Джонатаном Рошелем, який на той час займав посаду продакт менеджера Google Docs.[3] У серпні 2009 Google Apps Script згодом став доступним для всіх клієнтів Google Apps Premier та Education Edition.[4] Фреймворк базується на JavaScript 1.6, але також включає в себе деякі частини з 1.7 та 1.8, а також підмножину ECMAScript 5 API.[5] Проєкти Apps Script запускуються в інфраструктурі Google на стороні сервера. Згідно Google, Apps Script «забезпечує прості шляхи для автоматизації задач на перетині продуктів Google та сторонніх сервісів.»[6] Apps Script також являється інструментом для написання розширень для Google Docs, Sheets та Slides.[7]
Remove ads
Переваги
- Базується на JavaScript 1.6, а також включеннях з JavaScript 1.7 та 1.8[8]
- Хмарний зневаджувач для зневадження App Scripts у веб браузері.
- Може бути застосований для створення простих інструментів для внутрішнього використання в організаціях.
- Може бути застосований для виконання простих адміністративних задач.
- Модель підтримки спільнотою. [Архівовано 30 грудня 2021 у Wayback Machine.]
Обмеження
- Обробка – Як хмарний сервіс, Apps Script обмежує час виконання сценарію користувача, а також обмежує доступ до сервісів Google.[9]
- Наразі Google Apps Store не дозволяє прямого підключення до внутрішніх (за брандмауером) корпоративних баз даних, що є ключем до створення бізнес-додатків, однак за допомогою служби JDBC це можна подолати, якщо підключення дозволено із серверів Google на внутрішній сервер бази даних.[10] Аналогічно, відсутність інших підключень, таких як підключення LDAP, обмежує рівень, до якого Goodle Apps Script може використовуватися на підприємстві.
- Через хмарний характер Apps Script функції, пов'язані з датою та часом, дають результати, які здаються неправильними через перетин даних часових поясів. Використання об'єктів і функцій Date/Time без дуже точного оголошення та ретельного тестування може призвести до неточних результатів.[11]
Remove ads
Приклад
function doGet(e) {
var searchTerm = 'Script Tools'
var ui = XmlService.createDocument(XmlService.createElement('html')).setDocType(XmlService.createDocType('html'))
var body = XmlService.createElement('body')
body = buildTree(body, searchTerm);
ui.getRootElement().addContent(body)
return HtmlService.createHtmlOutput(XmlService.getRawFormat().format(ui))
}
function buildTree(node, searchTerm) {
var ul = XmlService.createElement('ul').addContent(XmlService.createElement('p').addContent(XmlService.createText(searchTerm)));
// Use of the Apps Script DriveApp Service to retrieve the collections.
var folders = DriveApp.getFoldersByName(searchTerm).next().getFolders()
while (folders.hasNext()){
var thisFolder = folders.next();
var li = XmlService.createElement('li');
var resp = buildTree(li, thisFolder.getName())
ul.addContent(li);
}
var files = DriveApp.getFoldersByName(searchTerm).next().getFiles()
while (files.hasNext()) {
var thisFile = files.next()
if (thisFile.getMimeType() === "application/vnd.google-apps.document") {
urlBase = "https://docs.google.com/document/edit?id=";
iconHTML = "https://drive-thirdparty.googleusercontent.com/32/type/application/vnd.google-apps.document";
}
else if (thisFile.getMimeType() === "application/vnd.google-apps.spreadsheet") {
urlBase = "https://spreadsheets.google.com/ccc?key=";
iconHTML = "https://drive-thirdparty.googleusercontent.com/32/type/application/vnd.google-apps.spreadsheet";
}
else if (thisFile.getMimeType() === "application/vnd.google-apps.script") {
urlBase = "https://docs.google.com/fileview?id=";
iconHTML = "https://drive-thirdparty.googleusercontent.com/32/type/application/vnd.google-apps.script";
}
else if (thisFile.getMimeType() === "application/vnd.google-apps.presentation") {
urlBase = "https://docs.google.com/present/edit?id=";
iconHTML = "https://drive-thirdparty.googleusercontent.com/32/type/application/vnd.google-apps.presentation";
}
else if (thisFile.getMimeType() === "application/vnd.google-apps.drawing") {
urlBase = "https://docs.google.com/drawings/edit?id=";
iconHTML = "https://drive-thirdparty.googleusercontent.com/32/type/application/vnd.google-apps.drawing";
}
else {
urlBase = "https://docs.google.com/fileview?id=";
iconHTML = "https://drive-thirdparty.googleusercontent.com/32/type/application/application/vnd.google-apps.unknown";
}
var li = XmlService.createElement('li');
var image = XmlService.createElement('img').setAttribute('src', iconHTML);
var fileLabel = XmlService.createElement('a').setAttribute('href', urlBase + thisFile.getId())
.setAttribute('target', '_blank').addContent(XmlService.createText(thisFile.getName()))
var fileLabelPanel = XmlService.createElement('div').setAttribute('style', 'display:flex;flex-direction: row;')
fileLabelPanel.addContent(image)
fileLabelPanel.addContent(fileLabel)
li.addContent(fileLabelPanel)
ul.addContent(li)
}
node.addContent(ul)
return node;
}
Remove ads
Розширення
Узагальнити
Перспектива
У травні 2014, Google представив розширення для Docs та Sheets (незабаром з'явилися Forms). Магазини доповнень дозволяють користувачам додавати додаткові функції до редакторів Google, такі як злиття пошти, робочі процеси, конструктори діаграм тощо. Усі додатки або на 100 % створені за допомогою Apps Script, або просто використовують Apps Script для відображення інтерфейсу користувача в редактори Google, покладаючись на зовнішній сервер для виконання деяких завдань. Наприклад, MailChimp, інструмент для злиття листів, має розширення для Документів Google, яке взаємодіє з платформою MailChimp для надсилання електронних листів.
До Розширень можна було публікувати сценарії для Google Sheets у Script Gallery. Коли користувачі встановлювали сценарії через Gallery, копія коду Apps Script встановлювалася на аркуші таблиць користувача. З додатками кінцевий користувач не має доступу до вихідного коду, і всі використовують останню версію, опубліковану розробником. Цей новий підхід полегшує підтримку існуючого коду і допоміг переконати кілька компаній, наприклад MailChimp або LucidChart, інвестувати в Apps Script.
У рамках випуску доповнень Google також представив посібник зі стилю розробки користувацького інтерфейсу[12] і пакет CSS стилів, щоб допомогти розробникам створювати доповнення, які інтегруються в редактори. Кожне доповнення також перевіряється Google перед його публікацією, і розробники можуть скористатися порадами співробітників Google щодо покращення взаємодії з користувачем. Рекламу не можливо вставляти в доповнення, але можна їх монетизувати.[13]
Remove ads
Див. також
Примітки
Посилання
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads