Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 06.03.2024, 17:50
Новичок на форуме
Отправить личное сообщение для qqAndrey Посмотреть профиль Найти все сообщения от qqAndrey
 
Регистрация: 06.03.2024
Сообщений: 2

Google sheet - не работает скрипт
Вечер добрый, пытаюсь написать скрипт для google таблицы.
Лист Остатков, надо, чтобы когда в ячейке, например D9 значение(формулой вычисляется) становилось меньше 100, то в телеграм чат отправлялось сообщение об этом
И каждый раз, когда оно становилось меньше 100 это действие повторялось

У меня получилось следующее:

function onEdit(e) {
  // Check if the 'e' object and 'range' property exist
  if (e && e.range) {
    // Определите диапазон данных
    var range = e.range;

    // Проверьте, что диапазон существует и не является пустым
    if (range && range.getValues) {
      // Определите ячейку D9
      var cellD9 = range.getValues()[8][3]; // 8 - номер строки (I), 3 - номер столбца (D)

      // Токен API бота
      var botToken = "7010378791:AAFWIhOS678863izmqymNhLcuqpa9seeN7s";

      // ID чата Telegram
      var chatId = "-887278460";

      // Текст сообщения
      var message = "**Внимание! Значение в ячейке D9 меньше 100!**\n\nЗначение: " + cellD9;

      // Отправьте сообщение боту, если значение меньше 100
      if (cellD9 < 100) {
        var options = {
          "method": "post",
          "payload": JSON.stringify({
            "chat_id": chatId,
            "text": message
          })
        };

        UrlFetchApp.fetch("https://api.telegram.org/bot" + botToken + "/sendMessage", options);
      }
    }
  }
}



Но когда значение становится меньше 100, сообщение не приходит, в чём может быть ошибика?
Ответить с цитированием
  #2 (permalink)  
Старый 06.03.2024, 20:09
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,794

qqAndrey, никогда и нигде не публикуйте секретные данные вашего приложения!

Удалите их из кода и смените токен бота.
Ответить с цитированием
  #3 (permalink)  
Старый 07.03.2024, 11:09
Новичок на форуме
Отправить личное сообщение для qqAndrey Посмотреть профиль Найти все сообщения от qqAndrey
 
Регистрация: 06.03.2024
Сообщений: 2

Данные изменённые, нет советов куда копать и почему код не работает?
Ответить с цитированием
  #4 (permalink)  
Старый 07.03.2024, 15:05
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,794

Сообщение от qqAndrey
нет советов куда копать и почему код не работает
Единственное, что я заметил: в опциях, которые вы передаете функции fetch не указан заголовок `content-type` со значение `application/json`, хотя контент вы кодируете именно в json.
Попробуйте добавить это после 24й строки:
'headers': {'content-type': 'application/json'},

Должно получится как-то так:
var options = {
          "method": "post",
          "headers": {"content-type": "application/json"},
          "payload": JSON.stringify({
            "chat_id": chatId,
            "text": message
          })
        };


Если не поможет, то остается только каким-то образом дебажить, как это делается google sheets я не знаю.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не работает скрипт калькулятора в FF 4.0 YaVolodya Firefox/Mozilla 2 01.11.2013 11:04
Как работает Google Analytics: смотрю в "Инструментах разработчика" Chrome hrundel Общие вопросы Javascript 0 10.10.2013 19:31
В Firefox не работает скрипт в отличии от Opera, Chrome, IE yanagas Javascript под браузер 2 06.08.2013 01:32
Скрипт не выполняется в IE. В остальных браузерах - все работает. tapak123 Internet Explorer 2 20.02.2013 23:06
Скрипт перестал работать в новых версиях firefox, Opera и Chrome, а в IE работает polbear Javascript под браузер 3 30.06.2011 09:34