Google Apps Script
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] Переваги
Обмеження
Приклад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;
}
РозширенняУ травні 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] Див. такожПримітки
Посилання
|
Portal di Ensiklopedia Dunia