Интеграция · Google Sheets · Рубли

AI API для
Google Sheets

Вызывайте нейросеть прямо в ячейках через кастомную функцию =GPT(). Несколько строк Apps Script на UrlFetchApp обращаются к OpenAI-совместимому API GROWMI — оплата в рублях, без VPN.

Кастомная функция =GPT() Ключ в Script Properties Без VPN в браузере
GROWMI / GOOGLE SHEETS LIVE
Ячеек обработано
1 248
Запросов сегодня
203
Лимит на ключ
5000/мес
Расход
74
APPS SCRIPT: OKVPN: НЕ НУЖЕН
Что можно сделать в таблице

От разметки строк до извлечения данных

Разметка

Классификация строк

Тональность отзыва, категория обращения, спам / не спам — метка прямо в соседней колонке.

Контент

Генерация текста

Описания товаров, заголовки, короткие тексты по данным из строки таблицы.

Язык

Перевод и нормализация

Перевод ячеек, приведение к единому формату, исправление регистра и опечаток.

Парсинг

Извлечение данных

Достать из произвольного текста телефон, город или сумму и разложить по колонкам.

Архитектура

Ячейка → Apps Script → AI API

Таблица не ходит в модель напрямую. Между ними — Apps Script: кастомная функция получает текст из ячейки, через UrlFetchApp вызывает AI API и возвращает результат обратно в ячейку.

01

Вызов в ячейке

Вводите =GPT(A2) — Google Sheets передаёт значение ячейки в кастомную функцию.

02

Apps Script

Функция берёт ключ из Script Properties и формирует HTTP-запрос через UrlFetchApp.

03

AI API GROWMI

Запрос уходит на российский эндпоинт с base_url и ключом — ответ модели в рублях.

04

Результат в ячейку

Функция возвращает текст ответа, и он появляется в той же ячейке таблицы.

Помните про кэширование и квоты: Google Sheets пересчитывает кастомные функции при изменениях листа, а у Apps Script есть лимит времени выполнения и квота на число вызовов UrlFetch в сутки.

Пример на Apps Script

Кастомная функция =GPT() на UrlFetchApp

Откройте Расширения → Apps Script, вставьте код и сохраните ключ в свойствах проекта. Меняете base_url и ключ — остальное стандартное.

/**
 * Вызывает AI API GROWMI прямо из ячейки.
 * @customfunction
 */
function GPT(prompt) {
  const key = PropertiesService.getScriptProperties()
    .getProperty("GROWMI_KEY");

  const cache = CacheService.getScriptCache();
  const hit = cache.get(prompt);
  if (hit) return hit;  // не дёргаем API на каждый пересчёт

  const res = UrlFetchApp.fetch("https://api.growmi.ru/v1/chat/completions", {
    method: "post",
    contentType: "application/json",
    headers: { Authorization: "Bearer " + key },
    payload: JSON.stringify({
      model: "gpt",
      max_tokens: 120,            // потолок ответа = контроль расхода
      messages: [{ role: "user", content: String(prompt) }]
    })
  });

  const out = JSON.parse(res.getContentText())
    .choices[0].message.content.trim();
  cache.put(prompt, out, 21600);  // кэш на 6 часов
  return out;
}
Как ограничить расходы

Три рычага против неожиданного счёта

Лимит на ключ

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

Кэш результатов

Через CacheService по тексту запроса. Пересчёт листа не дёргает API повторно — берётся готовый ответ из кэша.

max_tokens и батчинг

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

Частые ошибки

Что чаще всего ломает интеграцию

Симптом

Ошибки и лишние списания

  • Apps Script упирается в лимит времени выполнения и квоту UrlFetch
  • Пересчёт функции дёргает API многократно — счёт растёт
  • Ключ прописан прямо в коде — небезопасно при копировании таблицы
  • Протягивание формулы на тысячи строк сразу — таймаут
Решение

Что сделать

  • Батчить строки и кэшировать ответы через CacheService
  • Хранить ключ в Script Properties, а не в коде
  • Ограничить max_tokens и число строк за один проход
  • Фиксировать готовый результат как текст (Вставить только значения)
FAQ

Вопросы по Google Sheets

Нужен ли VPN?+

Нет. Apps Script обращается к российскому эндпоинту GROWMI, поэтому VPN не нужен ни в браузере, ни на серверах Google.

Где хранить API-ключ?+

В Script Properties (Свойства проекта), а не в коде функции. Так ключ не утечёт при копировании таблицы или экспорте скрипта.

Почему функция пересчитывается и тратит запросы?+

Google Sheets пересчитывает кастомные функции при любом изменении листа. Кэшируйте результат через CacheService по тексту запроса и фиксируйте значение как текст, когда оно получено.

Можно ли платить в рублях?+

Да. Оплата идёт в рублях через российский кабинет GROWMI — без иностранных карт и зарубежных платёжных систем.

Как обработать сразу много строк?+

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

Ранний доступ

Получите API-ключ для таблиц

Оставьте email — пришлём ключ, тестовый баланс и готовый шаблон Apps Script с функцией =GPT().

Без спама — только запуск.
Читать дальше

Смежные страницы