This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
Диагностика
Сначала — три проверки за минуту
- Открыть ссылку на экран в браузере. Экран открылся? Нет → проблема с публикацией, см. Настройка по шагам, шаг 3.
- Отправить тестовый ответ и открыть в Яндекс Формах Интеграция → API → История. Код
200? Нет → проблема в теле запроса или в секрете (шаг 4). - Открыть лист «Ответы 1». Строка есть, а экран не обновился → перезагрузить страницу экрана и проверить, что открыта та же ссылка.
Быстрая таблица
| Симптом | Причина | Что делать |
|---|---|---|
| Ответ не появился на экране | Запрос не дошёл до скрипта | Читать Интеграция → API → История |
ServiceJsonContentError |
Переменные из [+] вставлены вне кавычек |
Вернуть кавычки: "response_id": "[ID ответа]" |
404 или страница Google |
Вставлен адрес редактора вместо адреса развёртывания | Взять ссылку …/exec из раздела «Развёртывание» |
Ошибка авторизации, в журнале Unauthorized request |
secret в теле не совпадает с DEFAULT_SECRET |
Сделать значения одинаковыми |
Missing response ID or inflation range |
Не подставлен ID ответа или ответ на вопрос | Перезаполнить response_id и inflation кнопкой [+] |
Unknown survey |
В поле survey не 1 и не 2 |
Поставить "1" или "2" |
Unknown range or nonnumeric coding rule |
Текст варианта не совпал со столбцом A листа «Кодирование» или в столбце B не число | Синхронизировать тексты и проверить числа |
Response sheet is not configured |
Нет листа «Ответы 1» или «Ответы» | Запустить setupTemplate() |
Spreadsheet is not bound for web app execution |
Не выполнена первичная привязка копии таблицы для веб-приложения | В редакторе Apps Script выбрать функцию setupTemplate (или bindActiveSpreadsheet) и нажать Run (▶️), либо указать ID своей копии в SHEET_ID |
Refusing to use shared template SHEET_ID |
Скрипт пытается писать в общий эталонный шаблон вместо копии | Создать собственную копию таблицы, оставить SHEET_ID = '' и один раз запустить setupTemplate() в редакторе копии |
The lock request timed out |
Слишком плотный поток ответов | Ничего не делать; попросить зал не нажимать одновременно |
| Экран пишет «Нет связи» | Скрипт не ответил, не привязана таблица (setupTemplate) или превышены лимиты времени/одновременных вызовов |
Открыть ссылку и проверить, живо ли развёртывание и выполнен ли однократный запуск setupTemplate |
| «Предпросмотр · подключение ещё не опубликовано» | Открыт предпросмотр HTML | Открыть ссылку …/exec |
| Ответы приходят, среднее не меняется | Экран читает другую таблицу | Проверить привязку (setupTemplate при SHEET_ID = '') |
| «Есть некорректные строки» | Варианты в форме отличаются от листа «Кодирование» | Сверить тексты: тире, «%», пробелы, регистр |
| Правки кода не проявились | Не создана новая версия развёртывания | Управление развёртываниями → ✏️ → Версия: Новая |
| На экране старые подписи после правки шкалы | Ещё не прошёл 15-секундный цикл обновления или открыта другая таблица | Подождать 15 секунд (или обновить страницу) и проверить, что заполнены все 7 ячеек Кодирование!A2:A8, см. Другой вопрос или шкала |
Как читать историю интеграции
Форма → Интеграция → API → История — там каждая отправка ответа и код ответа.
| Код | Значение |
|---|---|
200 |
Доставлено и записано. Если на экране нет — проблема на стороне чтения |
200, строки в таблице нет |
Дубликат: такой ID ответа уже был, скрипт ответил Already saved |
3xx, редирект |
Адрес редактора вместо адреса развёртывания либо развёртывание удалено |
4xx |
Ошибка в теле запроса или не пройден секрет |
5xx, таймаут |
Скрипт упал; смотреть журнал выполнения в Apps Script |
Где журнал ошибок скрипта
Расширения → Apps Script → Журналы выполнения (Executions). Каждая строка — вызов doPost или getLiveStats; при открытии виден текст ошибки и строка кода.
Типовые ситуации
Зал проголосовал, экран на нуле. Ответы в таблице есть → экран открыт по другой ссылке. Ответов нет → смотреть историю интеграции.
Цифры «неполные». Часть ответов не распознана шкалой: вариант в форме отличается от листа «Кодирование» (дефис вместо тире, «процентов» вместо «%», лишний пробел). Скрипт терпимо относится к тире, слову «процент», словам «менее/более/свыше», но другие формулировки не угадывает.
Один участник нажал «Отправить» дважды. Дубликат отбрасывается по ID ответа.
Экран открыт на нескольких компьютерах. Работает: экран только читает. Но каждое окно обращается к скрипту раз в 15 секунд и расходует дневную квоту.
Не нашли свой случай — заведите Issue с описанием: что делали, что увидели, код из истории интеграции.