Часть 4 - Датчик протечки воды - Пишем сервер на google scipts

Создание приложения и его публикация

Заходим на сайт и создаем новый проект
https://script.google.com/home

Если проект уже был создан, и его код нужно обновить, то открываем на редактирование

Отроется окно в котором будем работать

Берем этот код расположенный ниже, копируем и вставляем его в окно, нажимаем CTRL + S, для того чтобы сохранить изменения.
Далее нужно опубликовать этот код, т.е сделать его доступным для внешнего мира.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
function doPost(d) {

try {
var data;

// d = {};
// d.postData = {};
// d.postData.contents = null; // {'UID': '123', 'DOUT': [0,1,1,0,1,1,1,1,1,1,1]}

data = JSON.parse(d.postData.contents);
if (data !== null) {

if ((data.DOUT !== undefined) && (data.DOUT[2] == true)) {
mail("SMART_HOUSE", "Сработал датчик UID: " + data.UID);
}

if ((data.DOUT !== undefined) && (data.VCC < 588)) {
mail("SMART_HOUSE", "Низкий уровень заряда батареи UID: " + data.UID + " VCC: " + data.VCC);
}

return ContentService.createTextOutput("OK");
} else {
return ContentService.createTextOutput("ERROR!\r\nWrong parameters!");
}
} catch(e) {

Logger.log(e.message);

return ContentService.createTextOutput("ERROR!\r\n" + e.message);
}
}

function doGet(e) {
return ContentService.createTextOutput("OK 007");
};


function mail(subject, content) {
const RECIPIENT = "your_email@gmail.com";

try {
GmailApp.sendEmail(RECIPIENT, subject, content);
return true;
} catch(e) {
return false;
}
}

Насколько я помню, всегда нужно будет здесь выбирать пункт НОВЫЙ если мы хотим разместить скрипт первый раз, и все остальные разы.

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

Приложение не проверено, но мы его писали сами, если себе доверяем то жмем пройти дальше.

Копируем урл

https://script.google.com/macros/s/AKfycbwCw82lhS-FCPhoj000000001111111111zDNNk-w2dtveoCSJXdrtQVX/exec

Этот урл, уже больше не будет меняться в процесе обновления приложения.

Если переити по нему, то должны увидеть версию скрипта.

Проверять эту ссылку лучше в режиме инкогнито, чтобы проверить доступна ли она анонимным пользователям.

Отладка скрипта на Google Script

https://script.google.com/home

Прерывается соединение с сервером, но дебаг работает, это может помочь в отладке скрипта.

Share