Эта статья может потребовать очистки, чтобы соответствовать стандартам качества Википедии . Конкретная проблема: использует списки вместо абзацев и содержит слишком много примеров кода. ( Февраль 2015 г. ) ( Узнайте, как и когда удалить этот шаблон сообщения ) |
Эта статья содержит контент, который написан как реклама . ( Февраль 2018 г. ) ( Узнайте, как и когда удалить этот шаблон сообщения ) |
Разработчики) | |
---|---|
изначальный выпуск | 19 августа 2009 г . [1] |
Написано в | JavaScript |
Тип | Рамки веб - приложений , структура сценариев |
Интернет сайт | скрипт |
Apps Script - это платформа сценариев, разработанная Google для разработки легких приложений на платформе Google Workspace . Скрипт Google Apps изначально был разработан Майком Хармом в качестве побочного проекта, когда он работал разработчиком в Google Таблицах. [2] Сценарий Google Apps был впервые публично объявлен в мае 2009 года, когда Джонатан Рошель, в то время менеджер по продукту Google Docs, объявил о программе бета-тестирования. [3] В августе 2009 года скрипт Google Apps стал доступен всем клиентам Профессионального пакета Служб Google и пакета для учебных заведений. [4] Он основан на JavaScript 1.6, но также включает некоторые части 1.7 и 1.8 и подмножество ECMAScript.5 API. [5] Проекты и приложения сценария запуска на стороне сервера на Google инфраструктуры «s. Согласно Google, Apps Script «предоставляет простые способы автоматизации задач в продуктах Google и сторонних сервисах». [6] Apps Script - это также инструмент, который поддерживает надстройки для Google Docs, Sheets и Slides . [7]
Преимущества [ править ]
- На основе JavaScript 1.6 и некоторых JavaScript 1.7 и 1.8 [8]
- Облачный отладчик для отладки скриптов приложений в веб-браузере.
- Его можно использовать для создания простых инструментов для внутреннего потребления организации.
- Его можно использовать для выполнения простых задач системного администрирования.
- Модель поддержки на уровне сообщества. [1]
Ограничения [ править ]
- Ограничения обработки. Будучи облачной службой, скрипт приложений ограничивает время, в течение которого скрипт пользователя может запускаться, а также ограничивает доступ к сервисам Google. [9]
- В настоящее время в Google Apps Store не разрешено прямое подключение к внутренним (за брандмауэром) корпоративным базам данных, что является ключом к созданию бизнес-приложений, однако с помощью службы JDBC это можно преодолеть, если подключения разрешены с серверов Google. на внутренний сервер базы данных. [10] Точно так же отсутствие других возможностей подключения, таких как подключение LDAP, ограничивает уровень, до которого GAS может использоваться на предприятии. [ необходима цитата ]
- Из-за облачной природы скрипта приложений, функции, связанные с датой и временем, будут давать результаты, которые кажутся неверными из-за того, что данные пересекают часовые пояса . Использование объектов и функций Date / Time без очень точного объявления и тщательного тестирования может привести к неточным результатам. [11]
Пример [ править ]
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 ( тело , searchTerm ); ui . getRootElement (). addContent ( body ) возвращает HtmlService . createHtmlOutput ( XmlService . getRawFormat (). format ( ui )) }функция buildTree ( узел , searchTerm ) { var ul = XmlService . createElement ( 'ul' ). addContent ( XmlService . createElement ( 'p' ). addContent ( XmlService . createText ( searchTerm ))); // Использование службы DriveApp сценария приложений для получения коллекций. var папки = DriveApp . getFoldersByName ( searchTerm ). следующий(). getFolders () в то время как ( папки . hasNext ()) { var thisFolder = папки . следующий (); var li = XmlService . createElement ( 'ли' ); var resp = buildTree ( li , thisFolder . getName ()) ul . addContent ( li ); } var files = DriveApp . getFoldersByName ( searchTerm ). следующий (). 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 ( 'ли' ); var image = XmlService . createElement ( 'img' ). setAttribute ( 'src' , iconHTML ); var fileLabel = XmlService . createElement ( 'а' ). setAttribute ( 'href' , urlBase + thisFile . getId ()) . setAttribute ( 'цель' , _blank ). addContent ( XmlService . createText ( thisFile . getName ())) var fileLabelPanel = XmlService . createElement ( 'div' ). setAttribute ( 'style' , 'display: flex; flex-direction: row;' ) fileLabelPanel . addContent ( изображение ) fileLabelPanel . addContent ( fileLabel ) li . addContent ( fileLabelPanel ) ул . addContent ( li ) } узел . addContent ( ul ) возвращаемый узел ; }
Дополнения [ править ]
В марте 2014 года Google представила надстройки для Документов и Таблиц (вскоре за ними последовали Формы). Магазины надстроек позволяют пользователям добавлять в редакторы Google дополнительные функции, такие как объединение писем, рабочие процессы, построители диаграмм, ... Все надстройки либо на 100% построены с помощью скрипта приложений, либо просто используют скрипт приложений для отображения пользовательского интерфейса в редакторы Google, полагаясь на внешний сервер для выполнения некоторых задач. Например, MailChimp, инструмент для слияния писем, имеет надстройку для Google Docs, которая взаимодействует с платформой MailChimp для отправки электронных писем.
До появления надстроек можно было публиковать скрипты для Google Таблиц в галерее скриптов. Когда пользователи устанавливали скрипты через эту галерею, копия кода скрипта приложений была установлена на листе пользователя. С надстройками исходный код не виден конечному пользователю, и все используют последнюю версию, опубликованную разработчиком. Этот новый подход упростил поддержку существующего кода и помог убедить несколько компаний, таких как MailChimp или LucidChart, инвестировать в Apps Script.
В рамках выпуска надстроек Google также представила Руководство по стилю пользовательского интерфейса [12] и пакет CSS, чтобы помочь разработчикам создавать надстройки, которые легко интегрируются в редакторы. Каждое дополнение также проверяется Google перед публикацией, и разработчики могут воспользоваться советами сотрудников Google, чтобы улучшить взаимодействие с пользователем. Встраивать рекламу в надстройки невозможно, но можно монетизировать их. [13]
См. Также [ править ]
- Google App Engine
- Конструктор приложений Google
Ссылки [ править ]
- ↑ Мейер, Дэвид (20 августа 2009 г.). "Google Apps Script получает зеленый свет" . CNet . Проверено 26 марта 2011 года .
- ^ Коледа, Эрик (21 августа 2019). «Празднование 10-летия Apps Script: оглядываясь назад на то, как это началось» . Блог Google Cloud . Проверено 22 августа 2019 .
- ↑ Рошель, Джонатан (27 мая 2009 г.). «Старый инструмент, новые хитрости» . Блог Google Cloud . Проверено 22 августа 2019 .
- ^ Ливи, Эвин (19 августа 2009). «Скрипт Google Apps запущен для Google Apps Premier и для учебных заведений» . Скрипт Google Apps . Проверено 22 августа 2019 .
- ^ Кини, Хольгер (май-июнь 2010). «Пришло время серьезно заняться JavaScript (подробнее)» . Программное обеспечение IEEE . 27 (3): 60–62. DOI : 10.1109 / MS.2010.76 . Архивировано из оригинального 29 июня 2010 года . Проверено 25 марта 2011 года .
- ^ Скрипт Google Apps
- ^ Добавьте что-то дополнительное в Документы и Таблицы с надстройками.
- ^ Google Inc. (28 августа 2018 г.). «Встроенные сервисы Google» . Скрипт Google Apps . Дата обращения 16 мая 2019 .
- ^ https://developers.google.com/apps-script/guides/services/quotas
- ^ https://developers.google.com/apps-script/guides/jdbc
- ^ «Проблема 1035: utilities.formatdate вычитает день» . Проверено 17 декабря 2012 года .
- ^ Руководство по стилю пользовательского интерфейса для надстроек
- ^ Я начал небольшой эксперимент ...
Внешние ссылки [ править ]
- Официальный веб-сайт
- developers.google.com/apps-script/case-studies