Apps Script
Оптимизируйте свою работу
Легкая и быстрая разработка
С помощью Apps Script бизнес-пользователи могут быстро создавать собственные решения для выполнения повседневных рабочих задач, не обращаясь к профессиональным разработчикам программного обеспечения.
Повышение производительности
Apps Script позволяет сфокусироваться на самых важных задачах, открывая пользователям максимум возможностей Google Workspace за счет автоматизации длительных и рутинных операций. Интеграционные решения связывают между собой повседневно используемые приложения, расширяя по мере необходимости их функционал и степень персонализации.
Популярные языки веб-разработки
Apps Script позволяет использовать для разработки HTML, CSS и JavaScript, не требуя изучения нового проприетарного фреймворка.
Разработано для Google
Платформа Apps Script уже готова для начала разработки. Предварительно интегрированные API Google Workspace, а также оригинальная интеграция в более 100 сервисов Google, таких как YouTube, Google Аналитика и BigQuery, существенно упрощают доступ ко всем преимуществам, которые Google предлагает пользователям.
Примеры решений
Формирование писем для рассылки с помощью Gmail и Таблиц
Используйте Gmail и Таблицы для создания привлекательных писем и их рассылки. Полное решение.
Регистрация на сеансы в рамках мероприятия
За счет интеграции Таблиц, Документов, Форм и почты Gmail это решение позволяет участникам мероприятия регистрироваться на сеансы, а затем создает и рассылает им по электронной почте персональные графики участия. Полное решение.
Анализ мнений из отзывов
Анализируйте объемные текстовые данные, например отзывы, выполняя распознавание названий и анализ тональности текста с помощью технологии Cloud Natural Language прямо в Таблицах. Полное решение.
Основные вопросы об Apps Script
Нужно ли платить за Google Workspace, чтобы получить возможность использовать Apps Script?
Нет. Чтобы начать разработку на платформе Apps Script, нужен лишь аккаунт Gmail.
С чего начать работу с Apps Script?
Где получить поддержку?
Возникающие в процессе работы вопросы вы можете обсуждать на тематических ресурсах: в онлайн-сообществе Apps Script компании Google и на форуме Stack Overflow.
Пишем скрипты для автоматизации работы с приложениями Google
Содержание статьи
Google Apps Script — это язык для автоматизации работы с онлайн-приложениями, появившийся в 2009 году. Его основа — классический JavaScript, обогащенный расширениями для работы с сервисами Google. После прочтения этой статьи ты овладеешь основами использования этого языка, выучишь пару приемов манипуляции с почтой и документами, а также получишь представление о необозримых возможностях Google Apps Script.
Основы использования
Хакер #187. Обходим Blizzard Warden
Теперь в нашем меню есть пункт под названием ExampleFunc, при клике на который открывается однострочное подменю «Моя единственная функция».
Декларированные функции можно использовать в формулах, которые вводятся внутрь ячеек электронных таблиц (см. рис. 3). Теперь перейдем к более практически полезным примерам.


WARNING
Работа с Google Docs
Когда встает задача автоматизации работы с офисными документами, первым делом на ум приходит VBA, одно упоминание которого оказывает на многих тотальное антиэкстатическое воздействие, вызывая болезненные воспоминания из школьного и университетского прошлого. Google Script однозначно удобнее и доступнее для понимания. Особенно для веб-разработчиков, ведь это же родной, привычный и любимый JS! Разберем пару примеров скриптов для Google Docs. Приведенный код заполняет левую верхнюю ячейку первого листа активной таблицы:
А этот код создает копию текстового документа и кладет его в определенное место:
А вот так можно провести замену строк в текстовом документе:
Следующий пример кода подсвечивает определенные слова в тексте:

Если пишешь скрипт, включающий в себя функции поиска/замены текста, помни о том, что GS поддерживает регулярные выражения.
Работа с почтой
Письмо отправляется одной короткой строкой: MailApp.sendEmail(«irairache@gmail.com», «тема письма», «текст письма») Если добавить к ней еще немного кода, то можно организовать рассылку по списку адресов из электронной таблицы (исходник ищи в приложении):
Помимо рассылок, с помощью GS можно производить автоматизированную обработку содержимого почтового ящика. Пример — удаление всех писем от адресата, на которого ты обиделся:
WARNING
Имей в виду, что Gmail не только защищает от входящего спама, но и ограничивает рассылку исходящего. Больше 500 писем за сутки с помощью Google Apps Script не выйдет.
Работа с Google Translate
С помощью Google Apps Script можно переводить текстовые строки с одного языка на другой. Пример:
Коды для языков можно посмотреть в адресной строке сервиса Google Translate.
Работа с Google Drive
Google Apps Script может работать с файлами пользователя, размещенными на Google Drive. Этот скрипт выводит в консоль имена всех файлов пользователя:
К файлам можно применять несколько десятков различных методов. Вот некоторые из них:
Работа с Google Contacts
Адресная книга также может быть подвергнута автоматизированной обработке. Приведенный ниже код копирует все контакты из группы «Редакция» в лист Google Spread Sheet:
Работа с Google Tasks
С помощью Google Apps Scripts можно работать с сервисом Google Task — создавать новые задачи и парсить уже имеющиеся.
Этот код создает новое дело в списке:
А таким образом можно вывести список нумерованных задач в консоль:
Задачи можно перемещать из одного списка в другой с помощью метода move, дополнять с помощью метода update и удалять с помощью метода delete.
Всего есть несколько десятков методов для работы с задачами. Полный их список доступен вGoogle Apps Script References для Google Tasks.
Работа с календарем
Создавать события в календаре тоже можно автоматически (и так же, как в случае с рассылкой, формировать информацию о них из строк таблицы). Код для создания события:
Формы обмена скриптами
Есть два основных способа поделиться своим скриптом с другим человеком (без учета непосредственного обмена исходным кодом) — ссылка и гаджет. В первом случае все просто: пользователь получает ссылку на программу, переходит по ней, и скрипт немедленно начинает выполняться (при условии, что человек авторизирован в своем Google-аккаунте).
События
Можно настроить скрипт так, чтобы он выполнялся после определенного события. К примеру, после открытия/редактирования электронной таблицы или отправки данных формы. Подробности о работе с Events
Работа с базами данных
Для этого существует сервис для работы с базами данных Google Cloud SQL. По сути — классический MySQL в облаке. Может взаимодействовать с Google Apps Script по стандарту Java Database Connectivity. Вот пример кода, который производит чтение записей из таблицы:
Стоимость использования сервиса — 88 долларов в год за 10 Гб свободного места. С другими базами данных Google Apps Script, к сожалению, работать не может. Если ты запланировал написать скрипт, который должен взаимодействовать с данными, не стоит сразу расстраиваться или истощать свой бюджет пожертвованиями на закупку квадроциклов для жителей Кремниевой долины. Есть два способа выкрутиться из этой ситуации:
Приложения, с которыми может взаимодействовать Google Apps Script
Я думаю, что далеко не каждый из наших читателей успел опробовать все онлайн-сервисы Google. В целях расширения кругозора и стимуляции творческого воображения приведем краткий обзор возможностей приложений, работу которых можно автоматизировать с помощью Google Apps Script.
По старой доброй традиции, которой уже почти три месяца, мы выложили несколько исходничков на GitHub:
Advanced Google Services
У Google есть множество API для разработчиков, которые можно внедрять в программы, написанные на Google Apps Script. Для этого надо подключить в редакторе скриптов эту возможность (в меню Resources, далее Advanced Google services). После этого можно будет задействовать возможности следующих сервисов:
Знакомство с Google App Script и первая программа (GAS01)
ЧТО ТАКОЕ GOOGLE APP SCRIPT
Вообще говоря, GAS основан на таком языке как JavaScript и не может считаться отдельным языком программирования, но для удобства понимания я упущу эту деталь.
В данном курсе я буду говорить о работе только с Google Spreadsheets, на базе этой информации можно будет расширить свои знания и для других сервисов Google, так как везде используется похожие структуры.
КАК НАЧАТЬ РАБОТУ С GOOGLE APP SCRIPT
3. Создать пустую таблицу через кнопочку «Создать«;
4. В верхнем меню выбрать «Инструменты» => «Редактор скриптов«;
ЗНАКОМСТВО СО СРЕДОЙ РАЗРАБОТКИ GAS
На скриншоте показано как выглядит окно, в котором придется разрабатывать наши программы (они же скрипты).
Под цифрами расположены:
Цифра 1: Панель меню, ниже панель быстрого доступа и бесячее уведомление, которое сразу можно закрыть;
Цифра 2: Название нашего проекта. Рекомендуется давать такое же название, как и название самой Google Spreadsheet;
Цифра 3: Название нашего файла. У нас может быть много файлов в проекте (до этого мы дойдем позднее). Рекомендуется называть первый файл » main.gs «;
Цифра 4: Основное окно редактора, в котором предстоит писать код;
СОЗДАНИЕ ПРОГРАММЫ HELLO WORLD
Про то, что такое функции мы поговорим в следующих уроках. Пока что, было бы неплохо переименовать нашу функцию во что-то более понятное. Так как в мире программирования принято первой программой выводить куда-нибудь фразу «Hello World!«, то именно с такой программы мы и начнем, и назовем нашу функцию например «greeting«.
Отлично. Теперь нам нужно как-то вывести на экран «Hello World!». Для того, чтобы это сделать, в среде GAS используется так называемый «журнал». Вещь очень полезная, при разработке когда что-то идет не так можно его вызывать и понять где случилась ошибка.
Журнал можно вызвать двумя способами. Или выбрать в верхнем меню «Ввод» => «Журналы«, или нажать сочетание клавиш CTRL + Enter.
Если сделать это сейчас, то в появившемся окне нам скажут, что редактор не выполнил ни одной функции. Более того, для того, чтобы результат нашего кода попал в журнал, нам нужно явно это указать. Делается это конструкцией: «Logger.log()«.
Данная конструкция работает так. Внутрь круглых скобок мы помещаем какой-то текст (на самом деле не только текст, но пока нам что-то другое не нужно), и после запуска нашей функции этот текст появляется в журнале.
ВАЖНО: Текст должен быть помещен в одинарные кавычки иначе выдаст ошибку. То есть, вот так не сработает: Logger.log(Hello World!). Нужно делать вот так: Logger.log(‘Hello World!’).
Таким образом, наша конструкция будет выглядеть так:
Заметьте, что я поставил точку запятой после конструкции «Logger.log(‘Hello World!’)«. Это не обязательно, но лучше так делать, чтобы избежать ошибок в дальнейшем.
Теперь, когда мы написали данную конструкцию, нам нужно сохранить файл. Для этого воспользуемся привычным сочетанием клавиш CTRL + S.
После успешного выполнения функции, мы можем опять вызвать журнал (CTRL + Enter) и наблюдать нашу заветную надпись.
Ниже я вставлю скриншоты готового кода и результата выполнения этого кода.
Отлично, теперь мы знаем как создавать свои первые программы и на базе этого можно будет переходить к изучению основных конструкций GAS, но это уже в следующих уроках.
А кто-нибудь знает где выполняются эти скрипты? В облаках гугла или нужен постоянно работающий комп (свой или сервер, или ещё что-то)?
Быстро же первый урок появился. Эдак к утру и освою GAS.
Не хочу больше учиться у дураков!
Кто читал мой вчерашний пост, наверное, понял, о чем я.
Три недели назад я начала изучать язык C# чтобы в последствии перейти на Unity. Порыскав в интернете и не совсем разбираясь в том, что хорошо, а что плохо, я выбрала первый же выскочивший в рекомендациях курс. Уже после пары серий я почувствовала, что что-то не то. То ли я туплю, то ли лектор какой-то не такой.
Итак, к чему я все это пишу.
(про официальные ресурсы от самого Юнити и документацию знаю, можно не дублировать)
(КЭП, я знаю что такое документация и буду ее в любом случае читать и учить на практике, но новичку с 3 неделями стажа ее скушать, проглотить и переварить тяжеловато)
Как таксист вошёл в IT))
Доброго времени суток читатели пикапу!
Решил поделиться своей историей. Последние 3 года работал в Москве в такси, от эконом до премиум тарифов.
Год назад захотел создать своё приложение для изучения ЧБК(Численно-буквенный код), так как нормального приложения или сайта для обучения не смог найти. Сначала смотрел в сторону Android Studio, так как там можно писать на Java, а я его раньше учил.
Следующий месяц в свободное от работы время я изучал движок и C# в контексте движка. За это время я создал раннер по видео урокам и сделал часть задуманного мной приложения.
Но в самый разгар моего изучения Unity, я случайно наткнулся в ютубе на видео, в котором показывали процесс создания кинематографичного ролика в Unreal engine 4 и меня это зацепило. Я загорелся идеей создания таких видео в самом движке и решил незамедлительно приступить к изучению этого чудо движка.
Конечно перейти с Unity на UE4 для меня было не легко, в основном из за интерфейса самого UE4, слишком уж он по-моему мнению перегружен(хотя на данный момент так не считаю).
В первых видео уроках открыл для себя чудо-чудное, это система визуального программирования «Blueprints». Сначала ничего не понимал в этих блупринтах, но постепенно разбираясь, я понял насколько они удобны по сравнению с кодом. Мне настолько они понравились, что я захотел сделать какую какую-нибудь простую игру. Выбор пал на клон игры «Flappy bird», но с самолётом вместо птицы и который должен пролетать через кольца. За день сделал основную механику и ещё неделю изучал illustrator и рисовал визуал(самолёты, интерфейс и задний фон). Получилось вот так:
Немного поиграл в то что получилось, я подумал что задумка не плохая и стоит доделать игру до презентабельного вида и выложить в google play. Не с целью заработать, а просто для получения опыта разработки игры с нуля до релиза. Но в тот момент у меня по личным причинам свободного времени стало очень мало и я забил на разработку и на UE4. Лишь спустя 3 месяца я решил возобновить то что начал и доделать эту игру. Попутно с разработкой этой игры, я делал то приложение с которого всё и начиналось, но уже в ue4 и на блупринтах. Вот что получилось:
Благодаря этому приложению, я за 2 дня выучил 300 чисел числа Pi после запятой и могу не только последовательно их пересказать, но и найти определённое число находящееся на определённой позиции после запятой. Если кому будет интересно почитать про это приложение, то пишите, я более подробно объясню зачем оно нужно и какая польза от этого ЧБК.
Изначально планировал делать только в 2d, но самолёты в 2d без анимации пропеллера смотрелись как-то не естественно и я решил делать самолёты в 3д, а также кольца.
Опыт в 3d моделировании у меня тоже был, так что мне это было только на руку. Вот мои прошлые работы в 3d:
В общем, я делал игру около трёх месяцев и постоянно что-то переделывал. То задний фон не устраивал, то моделька самолёта не так выглядит, то добавлял новый функционал, как внутриигровой магазин(на который я потратил 2 недели). В общем, было много проблем на решение которых тратил много времени и это долго описывать(может в отдельной публикации)
И вот к чему я пришёл на данный момент:
Сегодня я выпустил эту игру в Google play и хочу чтобы вы заценили.
Ну и оценку хорошую поставили для продвижения))
Спасибо что прочитали столько букаФ)
Всех благодарю за критику и поддержку)
Благодоря вашим отзывам, я понял, что игра очень сложная и сделал легче(но это не точно)
Увеличил скорость падения самолёта;
Увеличил дистанцию между кольцами;
Кстати, вот промокод на 10000 монет: BHCTDLV
Google Classroom
Учусь на магистратуре заочно. В связи с обстоятельствами учёба проходит дистанционно. Занятия проходя в приложении Google Classroom. Увидев оценку, расстроился, что придётся работать с багованым приложением, но почитав комментарии, понял, что дело тут не в приложении вовсе 😕
Вот как армия школьников может обрушить оценку вполне неплохого приложения.
Моя первая игра
Движок изучаю на протяжении полугода, а вот разработка игры заняла у меня около месяца.
В этом посте я хотел бы рассказать, как она создавалась.
Мне хотелось сделать игру, в которую я стал бы играть сам. Было решено сделать платформер с графикой 8-bit.
Полгода у меня ушло на то, чтобы освоить азы программирования и базовую работу с движком.
В один момент я дошёл до точки, когда нужно было срочно что-то делать. Мне нужна была игра, но ввязываться в долгострой мне никак не хотелось.
И я задался целью сделать качественную игру за максимально короткий срок.
Так же неожиданная неприятность пришла оттуда, откуда не ждали.
На форумах зачастую можно встретить мысль о том, что Apple с трудом выпускает игры на свою площадку, но оказалось, что проблемы бывают так же и с Google.
Игра проходила модерацию неделю, за эту неделю я успел сделать обновление, которое в свою очередь проверялось ещё неделю.
Монетизации как таковой в игре нет. Я встроил рекламу от Unity, потому что она доступна из коробки, только лишь для демонстрации навыка работы с Unity Ads.
В общем и целом разработка игры заняла у меня месяц. Выпуск игры в Google Play занял 2 недели.
Результатом работы я доволен. Хотя, я понимаю, что игра вышла не пределом мечтаний, многое можно улучшить, что-то убрать. Но как первый проект она мне нравится, я рад, что у меня получилось довести её до конца.
P.S. Засиживаться на месте не хочется, но для следующего проекта я бы хотел найти 2D художника. Если у кого-нибудь возникнет желание сделать со мной следующий проект, пишите в Telegram: @gfxcvgds
Как расширить словарный запас по английскому просто играя в игры! Часть 2
Ого! Предыдущий пост набрал почти 1500 лайков. Значит я не зря все это затеял. И так чтобы быть в курсе прочтите пожалуйста предыдущий, там все разложено по полочкам. https://pikabu.ru/story/kak_rasshirit_slovarnyiy_zapas_po_an.
Или вот его краткое содержание: делаю игру, с оригинальной механикой, в 3d, в браузере, с нуля, без движка, один, бесплатную, RPG!
Боевая система завязана на расширении запаса английских слов. Монстр кидает в вас слово или фразу, вы отбиваете переводом, он говорит фразу на английском, вы переводите на русский и так далее. Все это на фоне квестов, предметов, прокачки, сюжета, ну прям pillars of eternity. В итоге вместо пустого закликивания противника игрок получает конкретную пользу, ну и стимул есть. Слова подбираются особым образом, вставили текст, игра нашла в нем незнакомые для вас слова и отправила их монстрам.
Есть еще вторая игровая механика, но это сюрприз. 🙂 На данный момент готовы основные элементы, небольшое обучение (модели и текстуры временные). Все можно попробовать, скачивать ничего не нужно. Трям!
Как расширить словарный запас по английскому просто играя в игры!
Я тут одну игру пишу.
Подбор новых слов устроен довольно удобно. Представьте, что вы хотите прочесть новую книгу, статью или посмотреть фильм на английском. Загрузите первую страницу текста (в случае с фильмом можно использовать файл с субтитрами), сервис найдет там незнакомые для вас слова ( Первый раз он выдаст все слова, а вам нужно будет выбрать незнакомые и знакомые) и отправит их в игру.
А перерывы между монстрами, пока вы ходите по городу или читаете диалоги, помогут мозгу перенести изученные материал в долгосрочную память.
PS. не судите строго, на фото ранняя версия 🙂
Искусственный интеллект от Google будет создавать и обучать другие искусственные интеллекты
Джефф Дин, глава исследовательской группы Google Brain, на прошлой неделе рассказал, что в будущем софт по разработке программного обеспечения на базе искусственного интеллекта сможет полностью заменить часть специалистов в этой области. Он заявил, что автоматизированное машинное обучение является одним из наиболее перспективных направлений исследования его команды.
Другой эксперимент Google DeepMind предполагает, что исследование, именуемое как «умение учиться», может также уменьшить проблему в нехватке программного обеспечения на базе машинного обучения для выполнения каждой конкретной задачи. Исследователи хотят, чтобы их софт научился создавать обучающиеся системы для решения разных, но связанных между собой проблем. Они придумали алгоритм, которому свойственно обобщение, благодаря чему для решения новых задач ему требуется меньше данных, так как система учитывает опыт в прошлых проектах.
Профессор Университета Монреаля Йошиа Бенджио, занимавшийся исследованием идеи самообучающихся систем ещё в 1990-х годах, уверен, что это крайне интересно. Он говорит, что с доступной сейчас вычислительной мощностью и появлением технологии глубокого обучения, такое программное обеспечение близко к созданию. Но он отмечает, что такие разработки всё ещё требуют экстремальных вычислительных мощностей, а значит ещё рано думать даже о частичной замене специалистов в сфере машинного обучения на искусственный интеллект.
Чтобы заставить работать программное обеспечение для создания систем распознавания изображений, превосходящих те, что созданы людьми, команде Google Brain пришлось задействовать 800 мощных графических процессоров.



























