Как отправить Google таблицу

В «рассылке», на 2-ой строке находятся все нужные данные для отправки письма: кому, кому копии, тема письма и текст письма.

Тема и текст формируются с помощью формул из листа «продажи по дням», в теме. Я вывожу наибольшую дату из занесенных, в тексте письма — книгу с наибольшими продажами за эту дату. Ну и добавляю какой-то текст.

А отправляет кто?

Отправлять будет скрипт, он тоже есть в табличке, чтобы его открыть, идем в Инструменты-редактор скриптов.

Давайте запустим его

При первом запуске скрипт спрашивает разрешение на авторизацию, соглашайтесь (гифка: https://goo.gl/nCzSPE)

Скрипт выполнился, письмо ушло (если заполнили кому в ячейке А2 листа рассылка), отправителем будет ваш gmail.

Отлично, а как сделать рассылку регулярной?

Открываем в редакторе скриптов меню Правка-Триггеры текущего проекта, нажимаем Добавить триггер и делаем нечто подобное:

и нажимаем сохранить 🙂

Ура, мы все настроили, теперь каждый день в 23-00-24-00 будет отправляться письмо (используя данные из 2-ой строки листа «рассылка»), причем все будет происходить в облаке, т.е. таблицу открывать не нужно.

Как передать данные о рефералах в Google Sheets.

Когда вам надоест спамить людей рассылка — просто удалите триггер, нажав на крестик в скриншоте выше.

Источник: dzen.ru

Как превратить Google-таблицы в REST API и использовать их с React-приложением

Взаимодействовать с API никогда не было просто. Но использовали ли вы когда-нибудь React для отправки формы в Google-таблицы? Если нет, то этот туториал для вас.

Сегодня мы поговорим о том, как отправлять данные формы из React в Google-таблицы, так же как вы отправляете данные с помощью REST API.

Во-первых, создайте приложение React

Для начала вы можете использовать create-react-app, чтобы настроить React-приложение. Просто введите npx create-react-app react-googlesheets, чтобы инициализировать проект.

Структура папок

Как установить Semantic UI

Semantic UI – это фреймворк, используемый для проектирования и разработки красивых, адаптивных сайтов. В нём есть компоненты для кнопок, контейнеров, списков, инпутов и многого другого.

Чтобы установить Semantic UI в React-приложение, используйте следующую команду:

npm install semantic-ui-react semantic-ui-css

После завершения установки откройте файл index.js и импортируйте:

import ‘semantic-ui-css/semantic.min.css’

Теперь запустите приложение с помощью команды npm start.

Создадим несколько полей ввода

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

Как скопировать ссылку на Google Таблицу?

Здесь мы будем использовать кнопку, форму, поля ввода, контейнер и хедер из библиотеки semantic-ui-react.

import React, < Component >from ‘react’ import < Button, Form, Container, Header >from ‘semantic-ui-react’ import ‘./App.css’; export default class App extends Component < render() < return ( React Google Sheets! Name Age Salary Hobby Submit ) > >

Вот как это будет выглядеть:

.form < width: 500px; >.container

Мы закончили с пользовательским интерфейсом, теперь добавим немного функциональности.

Прежде всего давайте создадим состояния для наших четырёх полей формы.

import React, < Component >from ‘react’ import < Button, Form, Container, Header >from ‘semantic-ui-react’ import ‘./App.css’; export default class App extends Component < constructor(props) < super(props) this.state = < name: », age: », salary: », hobby: » >> changeHandler = (e) => < this.setState() > submitHandler = e => < e.preventDefault(); console.log(this.state); >render() < const < name, age, salary, hobby >= this.state; (*) return ( React Google Sheets! > Name onChange=/> Age onChange=/> Salary onChange=/> Hobby onChange=/> Submit ) > >

Здесь у нас есть четыре поля и их соответствующие состояния. У нас также есть метод changeHandler, чтобы отслеживать изменения состояний полей ввода.

Давайте деструктурируем состояния в методе рендеринга и добавим их значения в атрибут value каждого поля ввода (строка *).

Последнее, что нам нужно сделать, – это написать обработчик onSubmit. В теге формы добавьте событие onSubmit с обработчиком submitHandler.

Вот и всё – у нас есть форма, которая принимает имя, возраст, зарплату и хобби и выводит их в консоль.

Как отправить данные в Google-таблицу

Давайте превратим Google-таблицы в REST API.

Мы будем отправлять данные в Google Sheets, так же как и с REST API, и для этого нам необходимо установить Axios. Это библиотека, которую вы можете использовать для отправки запросов к API, как и fetch.

Создайте новую таблицу, нажав «Файл», затем «Создать», а затем «Таблица» (прим. перев.: нажмите “Пустой файл”).

Присвойте таблице имя и сохраните её.

Нажмите кнопку «Поделиться» в правом верхнем углу экрана и измените откройте общий доступ.

Скопируйте ссылку, перейдите на https://sheet.best/ и создайте бесплатную учётную запись.

Создайте новое соединение и вставьте скопированный URL-адрес из Google-таблиц в поле Connection URL.

Нажмите «Connect». Вы будете перенаправлены на страницу вашего подключения. Здесь вы можете увидеть все свои подключения. Щёлкните сведения о вашем новом подключении.

Скопируйте URL-адрес из строки “Connection URL”. Этот URL-адрес будет использоваться в качестве конечной точки API для отправки POST-запросов.

Теперь давайте установим Axios. Введите в терминал npm install axios.

После того как он был установлен, импортируйте его в начало файла. Мы сделаем POST-запрос в функции submitHandler.

submitHandler = e => < e.preventDefault(); console.log(this.state); axios.post(‘url’, this.state) .then(response =>< console.log(response); >) >

Замените функцию submitHandler приведённым выше кодом. Здесь мы используем Axios для отправки данных по URL-адресу и вывода ответа в консоль с помощью ключевого слова .then.

Вставьте скопированный URL-адрес из sheet.best вместо ‘url’ в axios.post(‘url’)

submitHandler = e => < e.preventDefault(); console.log(this.state); axios.post(‘https://sheet.best/api/sheets/a6e67deb-2f00-43c3-89d3-b331341d53ed’, this.state) .then(response =>< console.log(response); >) >

Теперь откройте Google-таблицы и заполните первую строку: имя, возраст, зарплата и хобби. Пожалуйста, заполните её правильно, иначе ничего не получится. Колонки чувствительны к регистру.

Добавьте поля имени, возраста, зарплаты и хобби

Теперь запустите приложение React и заполните форму. Вы увидите, что данные попадают в вашу таблицу.

ФормаИтоговый результат

Это всё, ребята. Теперь вы знаете, как превратить Google-таблицы в REST API. Теперь вы можете отправлять свои данные в Google-таблицы с помощью React-приложения.

Также вы можете найти код на Github , чтобы поэкспериментировать с ним.

Учитесь с удовольствием!

Узнайте подробности, как получить Level Up по навыкам и зарплате или востребованную профессию с нуля, пройдя онлайн-курсы SkillFactory со скидкой 40% и промокодом HABR, который даст еще +10% скидки на обучение.

  • Профессия Data Scientist
  • Профессия Data Analyst
  • Курс по Data Engineering

ПРОФЕССИИ

  • Профессия Java-разработчик
  • Профессия QA-инженер на JAVA
  • Профессия Frontend-разработчик
  • Профессия Этичный хакер
  • Профессия C++ разработчик
  • Профессия Разработчик игр на Unity
  • Профессия Веб-разработчик
  • Профессия iOS-разработчик с нуля
  • Профессия Android-разработчик с нуля

КУРСЫ

  • Курс по Machine Learning
  • Курс «Математика и Machine Learning для Data Science»
  • Курс «Machine Learning и Deep Learning»
  • Курс «Python для веб-разработки»
  • Курс «Алгоритмы и структуры данных»
  • Курс по аналитике данных
  • Курс по DevOps

Источник: temofeev.ru

Рассылка email из таблиц Google одним кликом

По работе понадобилось рассылать сотрудникам письма исходя из данных таблицы. Как это произвести в один клик, хоть массово, хоть адресно? С помощью скрипта Google по такой схеме:

  1. Имеем таблицу с email-адресами и данными для отправки.
  2. Создаём скрипт Google, рассылающий письма на адреса из выделенных ячеек.
  3. Ставим в документ кнопку, при нажатии на которую этот скрипт срабатывает.

Рассмотрим более подробно по пунктам.

Формируем таблицу

Всё что нам нужно, это адреса и данные:

Screenshot_1

Кстати, некоторые данные могут быть и в скрипте: например, используемые постоянно. Я расскажу об этом ниже. Кроме того, данные могут браться с других листов, но это выходит за рамки статьи.

Создание скрипта

Инструменты → Редактор скриптов.

Screenshot_2

Выделяем всё, удаляем всё, копируем на пустой лист этот код:

function sendSelectedEmails ( ) {
var sheet = SpreadsheetApp. getActiveSheet ( ) ;
var activeRange = sheet. getActiveRange ( ) ;
var data = activeRange. getValues ( ) ;
for ( i in data ) {
var row = data [ i ] ;
var emailAddress = row [ 0 ] ;
var subject = row [ 1 ] ;
var message = row [ 2 ] ;
MailApp. sendEmail ( emailAddress , subject , message ) ;
}
}

То же самое на скриншоте:

Screenshot_3

Сохраняем. Имена скрипта и проекта значения не имеют.

Что делает скрипт: построчно берёт данные из выделенных ячеек и рассылает почту. В нашем случае он берёт адрес emailAddress , тему subject и сообщение message . Элементы массива row — это номера ячеек в строке слева направо, начиная от 0.

Насчёт обещанных данных в скрипте. При необходимости объединить строки (например, для добавления постоянного адреса, на который копируются письма) используем конкатенацию с помощью плюса:

Конечно, используемых ячеек может быть больше, они могут другое положение относительно друг друга. Поэтому просто меняем под свои нужды цифры в row[…] .

В принципе, на этом всё: можно запускать скрипт, предварительно выделив строку или несколько строк в файле с данными. А можно сделать кнопку, чтобы лишний раз не открывать редактор скриптов.

Кнопка «Отправить email»

Кнопка создаётся как рисунок, на который позже назначается скрипт.

Вставка → Рисунок → Рисуем нужный нам объект (например, прямоугольник со скруглёнными краями), при необходимости делаем надпись:

Screenshot_4

Жмём «Сохранить и закрыть». Теперь через выпадающее меню рисунка назначаем ему скрипт:

Screenshot_5

А если точнее, то основную функцию из нашего скрипта:

Screenshot_6

Сохраняем. Вот теперь действительно всё. Можно выделить одну или несколько строк и щёлкнуть по кнопке. В первый раз Google запросит разрешения для скрипта на отправку email.

По материалам раз и два.

Источник: kodopik.ru

Рейтинг
Загрузка ...