GoogleSpreadsheets - модуль для работы с таблицами гугла

Делитесь модулями
  • @Nikolas а там какая квота?

  • @Shogo Если вы имеете в виду квоту ну как я сказал 50000 символов в одной ячейке может максимум храниться. Неважно как их пытаться записать руками, либо через апи , или либо через Google app script.

    Можете сами попробовать записать в любую ячейку более 50000 символов это не получится сделать. Если если вы про другую какую-то квоту, то поясните какая имеется в виду квота.

  • @Shogo Кста, при работе с Google таблицами даже если ты всё верно по апи запрос отправил , то отвечает не-200 (и такое часто бывает я проверял так как работаю с Google таблицами давно по api)..типа пиковая нагрузка, параллельные запросы к одному документу, лимиты.
    В модуль можно встроить простой метод повтора с Рандомные заранее заданный задержкой в модуле

    Вот как можно типа параметры прям в модуле (типа поля сделать): maxRetries (например 3–5), baseDelayMs ( например 500–1000 ms ), maxDelayMs (например до 60000)

    Типа повторяем только при ответах: 429, 500, 502, 503, 504, 408, 409.

    понятно что обрабатывать ошибки можно отдельными кубиками которые есть в BAS, Ну я думаю что так будет удобнее.

    Не повторяем при ответах 400, 401/403, 404

    чат gpt говорит что такие лимиты есть:

    Квоты Google Sheets API на бесплатном аккаунте (по официальной доке):
    
    Лимиты считаются в минуту и пополняются каждую минуту.
    • Чтение: до 300 запросов в минуту на проект и до 60 в минуту на пользователя.
    • Запись: те же 300/60. 
    Google for Developers
    
    Рекомендуют держать полезную нагрузку запроса до ~2 МБ, иначе начнутся внутренние ограничения обработчиков. 
    Google for Developers
    
    Один запрос, который обрабатывается дольше 180 секунд, вернёт таймаут. 
    Google for Developers
    
    Суточного лимита нет, если укладываетесь в поминутные квоты. При превышении вернётся 429
    
  • @Nikolas вроде большие. На счёт ошибок - в ряде методов сделал чтобы возвращал ответ -1, мол с ошибкой выполнен, чтобы можно было повторить. На счёт сбойных запросов - не встречал ещё таких ошибок, по идее можно сделать повтор.

  • @Shogo было бы неплохо сделать автоматические повторы в случае например когда Google ругается на то что квота истекла , Особенно эту актуально когда несколько юзеров (экземпляры приватного скрипта) которым ты допустим раздал свой скрипт - долбят Google таблицу используя одни и те же данные авторизации ( json данные авторизации с одного Google аккаунта).

    Кстати мне кажется лучше идея не путь к json-файлу, а просто копипастить содержимое json-файла , или чтоб у пользователя модуля был выбор, либо указать путь до файла, или вставить json строку (Содержимое этого файла)

  • @Nikolas ну я делал как заказчику удобнее ) это ж чисто для задачи моей сделано ) как по мне с копированием всегда сложности - кто то лишнее вставит, кто то наоборот не до конца выделит, кто то файл открыть не сможет.

  • @Shogo то есть я так понимаю что ты делал этот модуль для кого-то в первую очередь, а не только для себя?

  • @Nikolas ну если точнее то для себя, но для конкретного заказа )

  • Отличный модуль. Спасибо

  • @Paradox рад что кто то пользуется )