Можно ли увеличить лимит квоты API Google Sheets за пределы 2500 для учетной записи и 500 для пользователя?
Проблема: запуск ограничений квоты на чтение / запись API Google Sheets. В частности, запросы на чтение / запись за 100 секунд и запросы на чтение / запись за 100 секунд на пользовательские квоты.
Немного предыстории:
В течение последних нескольких месяцев я разрабатывал веб-приложение для учащихся и сотрудников нашего школьного округа, которое использует электронную таблицу Google в качестве базы данных. Каждой школе в нашем округе была назначена отдельная электронная таблица Google, и была создана служебная учетная запись для выполнения запросов на чтение и запись в эти таблицы от имени веб-приложения.
Мы начали с одной школы из примерно 1000 учеников, но теперь она расширилась до двух других школ с общей загрузкой пользователей около 4000 человек. Из-за характера расписания школьных дней мы начали превышать наш предел квоты (за 100 секунд и за 100 секунд на пользователя), поскольку почти все используют приложение одновременно.
Я нашел руководство по ограничениям использования для API листов Google, и в соответствии с инструкциями я создал платежную учетную запись и связал с ней проект связанной учетной записи службы. Затем я пошел в раздел квот в консоли разработчиков и подал заявку на повышение квоты. Это включало в себя заполнение формы Google с вопросом: "Сколько вам нужно квот? Экспресс в количестве запросов API в день". Опять же, запросы в день - это не проблема, а количество запросов на 100 секунд и на пользователя (учетная запись службы). Через пару недель наш лимит был увеличен до 2500 запросов на чтение / запись за 100 секунд и до 500 запросов на чтение / запись на 100 секунд на пользователя. Платежный счет не был списан, и после небольшого поиска я понял, что это было бесплатное увеличение. Это ограничение нашего квота помогло, но оно все еще будет проблемой, потому что наш округ хочет добавить больше школ в будущем.
Вот что мне нужно знать:
1) [ОСНОВНОЙ ВОПРОС] Есть ли у Google верхний предел или максимум для количества запросов на чтение / запись, которые одна учетная запись службы / пользователь /IP может сделать в течение 100 секунд, и если да, то что это?
2) Если возможно выйти за пределы нашего текущего предела квоты (2500/500), есть ли другой способ запросить / подать заявку на повышение. Еще раз у нас есть платежный счет, созданный для проекта, и мы готовы платить за услугу.
Я вырывал (что осталось) мои волосы, пытаясь найти окончательные ответы на мои вопросы. Этот пост был близок к тому, что я искал, и я даже сделал некоторые вещи, предложенные ОП, но мне просто нужен прямой ответ на мой "существенный" вопрос.
Еще пара вещей. Я понимаю, что в Google Charts Visualization нет ограничения по квоте, и я бы подумал об ее использовании, однако по соображениям конфиденциальности я не могу предоставить ключи электронных таблиц в виде простого javascript. Есть ли здесь другие варианты? Кроме того, можно предложить создать несколько учетных записей служб, но я бы предпочел избежать этого, если это возможно.
Спасибо за помощь. Я очень новичок, и я очень ценю ваше время и опыт.
1 ответ
Чтобы ответить на ваши вопросы:
1) [ОСНОВНОЙ ВОПРОС] Есть ли у Google верхний предел или максимум для количества запросов на чтение / запись, которые одна учетная запись службы / пользователь /IP может сделать в течение 100 секунд, и если да, то что это?
- * В предоставленной документации только указано, что API Google Sheets имеет ограничение в 500 запросов на 100 секунд на проект и 100 запросов на 100 секунд на пользователя. Проверьте этот пост для получения дополнительной информации. *
2) Если возможно выйти за пределы нашего текущего предела квоты (2500/500), есть ли другой способ запросить / подать заявку на повышение. Еще раз у нас есть платежный счет, созданный для проекта, и мы готовы платить за услугу.
- AFAIK, вы можете запросить более высокий лимит квоты, и инженеры Google могут удовлетворить запрос, если вы делаете разумный запрос.
Кроме того, вы можете проверить эту тему для дополнительных советов:
Вы можете использовать spreadsheets.get, чтобы прочитать всю электронную таблицу за один вызов, а не 1 вызов за запрос. Кроме того, вы можете использовать spreadsheets.values.batchGet для чтения нескольких разных диапазонов за один вызов, если вам нужны только значения.
Drive API предлагает " push-уведомления ", так что вы можете получать уведомления об изменениях и реагировать на них, а не опрашивать их. Задержка уведомлений немного медленная, но она выполняет свою работу.