Pull to refresh

Google Apps script: пользовательские скрипты в Google Apps

IT-companies


Google открывает доступ к Apps Script — внутреннему макроязыку приложений Google Apps. Вместе с Apps Script вы можете:
— Создавать свои собственные функции в электронных таблицах;
— Автоматизировать повторяющиеся задачи;
— Объединять различные продукты Google в одном рабочем процессе;
— Осуществлять «тонкую» настройку продуктов Google под свои нужды.

image
Он-лайн редактор Script Editor доступен из электронных таблиц Google Spreadsheets и позволяет создавать и управлять вашими собственными скриптами.

Доступны также подробная техническая документация для разработчиков и примеры применения скриптов.
Total votes 24: ↑22 and ↓2 +20
Views 9.3K
Comments 11

В Google Apps заработали скрипты

IT-companies
После анонса в мае и последующего длительного тестирования разработчики Google Apps вчера открыли функцию скриптов в Google Apps для всех корпоративных пользователей (то есть подписчиков Apps Premier и Education Edition).

С помощью Google Apps Script можно создавать события в Google Calendar, изменять данные в таблицах, отправлять письма по заданным адресам и шаблонам. Например, это может быть персонализированная рассылка со вставкой личного имени и фамилии адресата в каждое письмо.

Например, вот такой скрипт инициирует почтовую рассылку по адресам из колонки A с текстом из колонки B, после чего ставит пометку об отправке письма в колонке C.


Читать дальше →
Total votes 25: ↑23 and ↓2 +21
Views 2.5K
Comments 12

Хакатон по скриптам Служб Google для автоматизации бизнес-процессов

Google Developers corporate blog
Николя Гарньер, специалист по взаимодействию с разработчиками

Вы знакомы со скриптами Служб Google? Эти скрипты позволят расширить функциональность Служб и автоматизировать некоторые задачи, с которыми компания сталкивается каждый день. Например, вы можете запрограммировать:

Систему учета отпусков сотрудников
Читать дальше →
Total votes 4: ↑0 and ↓4 -4
Views 1.6K
Comments 3

Оповещение о новых письмах в Gmail по SMS средствами Google Calendar + Google Apps Script

Programming *Google API *
Tutorial
Увы, но этот способ перестанет работать с 27-го июня 2015, т.к. Google отключает функцию sms-оповещений для календаря.
support.google.com/calendar/answer/45351?hl=ru

Важно! SMS-оповещения будут отключены 27 июня
С 27 июня 2015 года вы больше не будете получать SMS-оповещения от Google Календаря. Функция SMS-оповещений была внедрена ещё до широкого распространения смартфонов. Однако современные мобильные устройства позволяют получать оповещения в более удобном формате и даже в офлайн-режиме.
Для просмотра оповещений вы можете использовать приложение календаря, которое было установлено на смартфоне по умолчанию, либо скачать Google Календарь для Android или iPhone. Подробнее об оповещениях…
Примечание. Это изменение не коснется пользователей Google Apps for Work, Education и Government.




Хочу поделиться с Харбра-обществом полезным, с моей точки зрения, лайвхаком: уведомления по SMS о новой почте в ящике Gmail. Реализуется это небольшим скриптом, который живет и работает в Google Drive (бывшие Google Docs).

Принцип работы следующий: скрипт по таймеру проверяет папку «Входящие» в почтовом ящике и если обнаруживает новые письма, то создает в google calendar событие с именем, как тема письма, и включает для него SMS уведомление. В результате вам приходит SMS сообщение следующего содержания:

Напоминание: Тема письма @ дата и время

Подробности реализации, как всегда, под «катом».
Подробности
Total votes 102: ↑98 and ↓4 +94
Views 113K
Comments 72

Google Drive. Отчет с данными из таблицы. Создание простенькой БД. Часть 2

Google API *
Продолжаем исследовать Google Drive, в прошлой части было автоматизировано простое создание отчетов по данным из таблицы. В этой части рассмотрим создание GUI
Читать дальше
Total votes 12: ↑11 and ↓1 +10
Views 15K
Comments 0

RSS-лента по почте

Google App Engine *
Есть одна важная для меня RSS-лента. И хочется оперативно узнавать о “новых новостях” в ней. К сожалению, почтовой рассылки этот новостной сервер не предоставляет. Для чтения RSS я привык пользоваться Web-сервисом Google Reader, а он, несмотря на своё происхождение и родственные связи с Gmail, такой возможности тоже не даёт. И его мобильный клиент никак не оповещает о появлении новостей в лентах. Может и слава Богу – некоторые фиды очень плодовиты – но ведь бывают случаи когда это полезно. Вот как я выкрутился.
Читать дальше →
Total votes 31: ↑29 and ↓2 +27
Views 16K
Comments 21

Создаем свой RSS канал с помощью Google Apps Script

Google App Engine *Google API *
Recovery mode
Tutorial
Есть такой замечательный wiki ресурс по языку Tcl/Tk как wiki.tcl.tk. Есть у этого ресурса RSS лента последних изменений. Но вот беда — лента изменений самая минимальная. Там указано только кем, когда и какая страница редактировалась. Нет полных изменений и нет GUID у элементов ленты, поэтому некоторые RSS клиенты (например, Google Reader) не показывают большую часть новостей, считая их одинаковыми.
Как сделать свою RSS ленту
Total votes 9: ↑7 and ↓2 +5
Views 12K
Comments 2

Автоматическое оповещение об изменениях статуса почтовых посылок через SMS

JavaScript *Programming *Google API *
Sandbox
Tutorial
В последнее время я стал делать много покупок в интернет-магазинах, и нередко ловлю себя на том, что очень часто проверяю статус своих посылок (с нашей почтой не беспокоиться не получится).
Поиск готовых решений приводил только к платным сервисам. В результате было принято решение сообразить что-нибудь свое.
Под катом список используемых сервисов и подробная инструкция.
Читать дальше →
Total votes 35: ↑32 and ↓3 +29
Views 24K
Comments 89

Google Apps script: получение данных из Flurry

JavaScript *Development of mobile applications *
Sandbox
Всем привет

Вариантов использования Google Apps Scripts множество. Мой друг работал с иностранным заказчиком и тот просил каждый день отчет ему на почту с текстом кто и что делал. В результате он попросил сотрудников трэкать все в гугл таблицу не позднее 21:00, потом стартовал скрипт и собирал данные и слал по нужному адресу.
В статье я приведу простой и, как мне кажется, полезный пример использования Google Apps Scripts.

Что такое Google Apps Scripts?


Если коротко, то это сервис который позволяет на JavaScript писать скрипты, работающие в облаке Google. Сервис предоставляет широкий API, к примеру в данной статье мы создадим гугл таблицу на основе метрик приложения из Flurry.

Читать дальше →
Total votes 14: ↑14 and ↓0 +14
Views 16K
Comments 5

Google запустила Add-ons для Google Docs и Sheets

Google Chrome Google API *
Вчера вечером компания Google объявила о запуске дополнений (add-ons). С их помощью сторонние компании получили возможность расширять возможности Google Docs и Sheets.

Например, можно подписывать документы онлайн, создавать документы, используя шаблоны или вести свою библиографию не покидая Google Docs.


Читать дальше →
Total votes 37: ↑36 and ↓1 +35
Views 19K
Comments 13

Google Docs Add-on. Расширяем возможности редактора Google Docs

Website development *JavaScript *
Sandbox
На днях Google анонсировал выход новой платформы, позволяющей разработчикам создавать приложения, работающие внутри Google Docs и расширяющие базовый функционал Google Docs редактора.
Разберемся что это, как это работает и напишем небольшое приложение которое позволит нам переводить текст документа не выходя из Google Docs.
Читать дальше →
Total votes 28: ↑27 and ↓1 +26
Views 35K
Comments 4

Получение RSS ленты из twitter после обновления API 1.1

Twitter API *
В связи с обновлениями twitter API с версии 1.0 до версии 1.1 перестали работать запросы не получение RSS ленты в старом стиле, вроде:



Это связано с окончанием поддержки twitter-ом XML, RSS и Atom стандартов вывода. Разработчики прокомментировали их мотивы при принятии подобного решения тезисом о том, что доля подобных запросов мала и может быть безболезненно для пользователей отключена.

Но я склонен предполагать, что найдутся пользователи, которые бы хотели, все же, видеть таковой функционал. Для этой группы и будет вестись повествование ниже.

Это уже было в «Симпсонах»


Существует масса решений этой проблемы. Наверное, наиболее адекватное — это создание виджета в своем аккаунте твиттера с последующей пересылкой данных в google apps script для последующего формирования самой RSS ленты. Это решение описано здесь.
Но ведь не у всех есть свой твиттер-аккаунт, а среди тех, у кого его нет, вполне могут найтись и те, кто хочет просто читать чужие твиты.

Строго говоря, то решение, которое я предложу ниже, есть не совсем чтение чьего-то твиттера, это просто поиск всех упоминаний имени пользователя.
Читать дальше →
Total votes 7: ↑5 and ↓2 +3
Views 11K
Comments 0

Печать из Google Apps Script

JavaScript *Programming *Google API *
Sandbox

Часть 1. Challenge


Читая ленту на oDesk, наткнулся на интересный проект по моему направлению (а я отслеживаю, в основном, задачи на написать что-то, прикрутить что-то или иным способом замучить Google Apps Script или приложения Google Apps). Клиент просил написать скрипт, который будет отсылать ему выделенный фрагмент из Google Spreadsheet по нажатию кнопки. Но была в описании одна фраза, зацепившая меня — «Мне сказали, что невозможно создать скрипт, который будет печатать из Google Apps». Я всегда очень любил и люблю «невозможные» задачи:
— Мы сами знаем, что она не имеет решения, — сказал Хунта, немедленно ощетиниваясь. — Мы хотим знать, как её решать.
Аркадий и Борис Стругацкие. Понедельник начинается в субботу

Статья рассчитана на читателей, уже знакомых с Google Apps Script и сопутствующими технологиями.
Читать дальше →
Total votes 12: ↑12 and ↓0 +12
Views 12K
Comments 3

СМС-рассылка с Google Sheets API

JavaScript *Google API *
Sandbox
Недавно от знакомого фриланс-работодателя поступило предложение о небольшой работе, связанной с организацией смс-рассылки, данные для которой должны браться из .xls-таблицы. Плюс к этому было необязательное пожелание вынести эту же таблицу на корпоративный веб-сайт с обязательной возможностью её редактирования. При этом был озвучен весьма малый бюджет максимум на два человеко-дня.

Минимальное исследование существующих веб-инструментов работы с электронными таблицами показало, что разработка на их основе потребует времени в разы больше. Например, связка PHPExcel и какой-нибудь AJAX-таблицы выливалась в разработку функционала полноценного сайта. К тому же требующего отдельного хостинга в целях безопасности. Теоретически рассматривался вариант MS Excel + VB script, но и тут были свои подводные камни. В итоге выбор пал на Google Sheets.
Читать дальше →
Total votes 22: ↑17 and ↓5 +12
Views 25K
Comments 3

Как подружить Google Диск и Google Календарь? Пробуем GAS на вкус

JavaScript *SQL *Delirium coding Google App Engine *Google API *
Sandbox
Корзина покупателя GASПредлагаю читателям «Хабрахабра» историю о том, как мне удалось повысить свою покупательскую способность в кризисное время при помощи Google Apps Script (GAS). Под катом вы найдете нестандартный пример использования и узнаете о возможностях работы со службами Google Drive и Google Calendar.

Началось все с того, что цена импортируемых товаров в России неуклонно росла вверх. Работая IT-специалистом в крупной ритейл-сети, у меня возникла идея о том, как можно воспользоваться преимуществом наличия доступа к товарной базе, не нарушая установленных правил компании и тем более закона. Наибольший интерес с точки зрения экономии личных денежных средств представляют так называемые «промоакции» (тарифы со скидкой). Необходимо было организовать ежедневную выгрузку «промоакций» на интересующие товары и реализовать возможность своевременного получения уведомлений о наличии скидок на Android-смартфон.
Читать дальше →
Total votes 9: ↑8 and ↓1 +7
Views 28K
Comments 10

Небольшой скрипт для отслеживания цен avito из Google Spreadsheet

JavaScript *Google API *
Tutorial
Хочу поделиться с сообществом небольшим скриптом для загрузки цен с сайта объявлений AVITO в Google Spreadsheet. Вдруг кому-нибудь еще пригодится.

Логика такая — в цикле бежим по ячейкам таблицы с адресами и запрашиваем странички. Из полученных страниц получаем цену и подставляем в соседние ячейки. Запуск скрипта через пункт меню Avito -> Update Prices.

Page Sample
(наименнннование sic!)
Читать дальше →
Total votes 35: ↑32 and ↓3 +29
Views 42K
Comments 33

Что нам стоит автоматизацию построить. Использование HTTP API в Google Sheets

EXANTE corporate blog JavaScript *Google API *

В эпоху повальной автоматизации пользователям хочется «нажать на кнопку и получить ответ». Ну или дополнительно немного подвигать мышкой. Автоматизация же отчетов и других штук, которые удобно представить в виде таблички, часто строится в Excel с использованием своих макросов или же просто встроенных формул. Плагинами к Excel нынче никого уже не удивишь, кстати, у нас такой тоже есть, но это предмет отдельной статьи. А как насчет Google Sheets? Ранее мой коллега рассказывал, как можно прикрутить наше API к Telegram, я же попробую рассказать, как использовать его в гуглотаблицах.


image


Под катом чуть-чуть кода и много костылей.

Читать дальше →
Total votes 12: ↑11 and ↓1 +10
Views 6.9K
Comments 2

Как найти лучшие авиабилеты в интерфейсе гугл-таблицы

Geoinformation services *Google Cloud Platform *

Начало


Я часто езжу в поездки и покупаю авиабилеты.
И так же часто страдаю от интерфейса агрегаторов авиабилетов.
Я не могу выбрать билет и совершить покупку.


Кейс


Я точно знаю, куда хочу полететь.
Примерно знаю на сколько дней.
И примерно в какие даты — например в этом месяце.


В этот раз я захотел слетать в Серфаус — это горнолыжная деревня в Австрии.
Улететь не ранее 5 января, вернуться на позднее 15 января. На 6-8 дней.


Теперь нужно найти лучший билет под эти условия.
"Лучший" в моем случае — это комбинации объективной цены и субъективного удобства перелета — время вылета/прилета, аэропорт вылета, авиакомпания и так далее.


Как кейс решается у агрегатора авиабилетов


  1. Трансформирую деревню Серфаус в три ближайших аэропорта — Мюнхен, Инсбрук и Цюрих с помощью гугл-карт.
  2. Иду в агрегатор авиабилетов. Нахожу инструмент типа "Календарь низких цен".
  3. Открываю его в трех вкладках для трех аэропортов.
  4. Выбираю январь.
  5. Начинаю тыкать в каждый день января, чтобы увидеть время вылета/прилета и цену билета.
  6. Если мне понравился какой-то билет, тыкаю в него, чтобы убедиться, что билет реально есть. Потому что кеш.
  7. Чтобы запомнить, в какой день какой билет мне понравился, я записываю его в блокнот или таблицу.

В последних трех пунктах я страдаю.
Потому что я не хочу тыкать и проверять. Я не хочу переключаться между вкладками.
А хочу увидеть реально доступные билеты со временем вылета и ценой и выбрать один из них.
И купить его.


Но, в итоге, я не нахожу нужный билет за психологически комфортное время.
И, не совершив покупку, ухожу.


Как кейс должен решаться


  1. Указываю "Серфаус" в поле "Куда" в агрегаторе.
  2. Выбираю примерные даты.
  3. Выбираю подходящую продолжительность.
  4. Получаю список билетов для покупки.
  5. Выбираю подходящий билет и покупаю.

… такого сценария работы нет у агрегаторов.

Читать дальше →
Total votes 16: ↑15 and ↓1 +14
Views 15K
Comments 29

Как я ускорил работу отдела продаж более чем в 20 раз

JavaScript *Google API *CRM systems *Sales management *
Sandbox
Если вам знакома ситуация, когда нужно обработать заявку от клиента размером 150 или больше позиций, подобрав для каждой самую лучшую по цене из 20 прайс-листов по 10 000 + позиций в каждом, но вы не готовы тратить на это больше 30 минут, то добро пожаловать под кат.
Читать дальше →
Total votes 123: ↑112 and ↓11 +101
Views 69K
Comments 149

Ещё один пример автоматизации или PowerShell + Google Apps Script

JavaScript *PowerShell *Google App Engine *Google API *DevOps *
Sandbox
Лень — двигатель прогресса…

Вот и я, найдя немного свободного времени, решил автоматизировать достаточно рутинную для каждого админа задачу — создание и отключение пользователей.
Читать дальше →
Total votes 14: ↑13 and ↓1 +12
Views 11K
Comments 7
1