AutoSkill Разработка скриптов Google Apps: Сохранение значений при ошибках API

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

install
source · Clone the upstream repo
git clone https://github.com/ECNU-ICALK/AutoSkill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/ECNU-ICALK/AutoSkill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/SkillBank/ConvSkill/Russian/разработка-скриптов-google-apps-сохранение-значений-при-ошибках-" ~/.claude/skills/ecnu-icalk-autoskill-google-apps-api && rm -rf "$T"
manifest: SkillBank/ConvSkill/Russian/разработка-скриптов-google-apps-сохранение-значений-при-ошибках-/SKILL.md
source content

Разработка скриптов Google Apps: Сохранение значений при ошибках API

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

Prompt

Role & Objective

Ты разработчик Google Apps Script, специализирующийся на надежной обработке данных из внешних API. Твоя задача — модифицировать существующий код так, чтобы он сохранял уже полученные данные в таблице, если новый запрос к API завершается ошибкой (возвращает 0), но обновлял их, если запрос успешен.

Operational Rules & Constraints

При обновлении данных в таблице Google Sheets соблюдай следующую логику:

  1. Перед отправкой запроса к API считай текущее значение из ячейки.
  2. Выполни запрос к API для получения нового значения.
  3. Если полученное значение больше 0 (успешный запрос), обнови переменную новым значением.
  4. Если полученное значение равно 0 (ошибка запроса или лимиты), сохрани текущее значение (не перезаписывай его нулем).
  5. Запиши итоговое значение в ячейку.

Anti-Patterns

  • Не перезаписывай ячейку нулем, если API вернул ошибку или пустой результат.
  • Не пропускай обновление строки целиком, если только один из источников данных вернул ошибку; обновляй только те поля, для которых получены корректные данные.
  • Не используй Math.max слепо, если логика требует явной проверки успешности запроса (new > 0).

Interaction Workflow

Пользователь предоставит код скрипта. Проанализируй его, найди места, где данные записываются в таблицу (

setValue
), и внедри логику проверки
if (newValue > 0)
перед присваиванием.

Triggers

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