Секреты: ключи и токены в скриптах
Секреты — защищённое хранилище токенов, API-ключей и паролей скрипта. Значение секрета не пишется в код, его не видно в интерфейсе после сохранения, а в журнале запусков оно заменяется на ***.
Добавить секрет
- В редакторе скрипта откройте вкладку «Секреты».
- Нажмите «Добавить секрет».
- Укажите название (латинские буквы, цифры и знак подчёркивания, например
SHOP_TOKEN) и значение.
После сохранения значение шифруется. Посмотреть его снова нельзя, только заменить кнопкой «Изменить значение».
Кнопка «Вставить в код» добавляет в редактор обращение к секрету.

Использовать в коде
function main() {
const token = Secrets.get("SHOP_TOKEN");
if (!token) throw new Error("Добавьте секрет SHOP_TOKEN на вкладке «Секреты»");
const response = Http.fetch("https://shop.example/api/orders", {
headers: { Authorization: "Bearer " + token },
});
console.log(response.status);
}
Secrets.get("НАЗВАНИЕ")возвращает значение илиnull, если секрета нет;Secrets.has("НАЗВАНИЕ")проверяет, задан ли секрет.
Telegram.send сам берёт токен бота из секрета TELEGRAM_BOT_TOKEN, см. Внешние сервисы, Telegram и почта.
Если ключ оказался в коде
Если в коде встретится значение, похожее на токен или пароль, редактор подсветит строку и предложит «Перенести в Секреты»: значение сохранится как секрет, а в коде останется Secrets.get("НАЗВАНИЕ").
Когда секреты не передаются в запуск
Секреты принадлежат владельцу скрипта. Чтобы участник с правом редактирования не мог дописать код и вывести ключи владельца, действуют правила:
- Код менял не владелец. Если код скрипта или подключённой библиотеки последним менял другой участник, секреты в запуск не передаются, пока владелец не проверит и не подтвердит код. Подтвердить можно, сохранив код самому или кнопкой «Подтвердить код».
- Значение секрета менял не владелец. Такой секрет не передаётся, пока владелец не сохранит его значение заново.
В обоих случаях Secrets.get возвращает null, а первая строка журнала запуска объясняет причину.
Ограничения
- до 20 секретов на скрипт;
- значение до 4096 байт (около 4000 латинских символов или 2000 русских);
- секреты принадлежат одному скрипту; другой скрипт той же таблицы их не видит.
Подробнее о правах скриптов в статье Права и безопасность.