| Тип | Вебфреймворк |
|---|---|
| Розробник | |
| Перший випуск | 19 серпня2009; 16 років тому (2009-08-19)[1] |
| Операційна система | Android,iOS,macOS,Chrome OS |
| Мова програмування | JavaScript |
| Доступні мови | багатомовний |
| Українська мова | є |
| Вебсайт | script.google.com |
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]
functiondoGet(e){varsearchTerm='Script Tools'varui=XmlService.createDocument(XmlService.createElement('html')).setDocType(XmlService.createDocType('html'))varbody=XmlService.createElement('body')body=buildTree(body,searchTerm);ui.getRootElement().addContent(body)returnHtmlService.createHtmlOutput(XmlService.getRawFormat().format(ui))}functionbuildTree(node,searchTerm){varul=XmlService.createElement('ul').addContent(XmlService.createElement('p').addContent(XmlService.createText(searchTerm)));// Use of the Apps Script DriveApp Service to retrieve the collections.varfolders=DriveApp.getFoldersByName(searchTerm).next().getFolders()while(folders.hasNext()){varthisFolder=folders.next();varli=XmlService.createElement('li');varresp=buildTree(li,thisFolder.getName())ul.addContent(li);}varfiles=DriveApp.getFoldersByName(searchTerm).next().getFiles()while(files.hasNext()){varthisFile=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";}elseif(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";}elseif(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";}elseif(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";}elseif(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";}varli=XmlService.createElement('li');varimage=XmlService.createElement('img').setAttribute('src',iconHTML);varfileLabel=XmlService.createElement('a').setAttribute('href',urlBase+thisFile.getId()).setAttribute('target','_blank').addContent(XmlService.createText(thisFile.getName()))varfileLabelPanel=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)returnnode;}
У травні 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 також представив посібник зі стилю розробки користувацького інтерфейсу[13] і пакетCSS стилів, щоб допомогти розробникам створювати доповнення, які інтегруються в редактори. Кожне доповнення також перевіряється Google перед його публікацією, і розробники можуть скористатися порадами співробітників Google щодо покращення взаємодії з користувачем. Рекламу не можливо вставляти в доповнення, але можна їх монетизувати.[14]