Нет больше информации об этой ошибке, кроме как в документации. Как только вы нажмете ошибку, вам придется подождать, пока полночь на запад не будет стоить времени США, прежде чем пользователь сможет снова сделать запрос.

есть приложение, которое управляет разрешением на совместное использование файлов и папок Google Drive с помощью Drive API. Когда наше приложение пытается обновить настройки общего доступа к определенным файлам или папкам, мы получаемразделениеRateLimitExceeded 'ошибка:

Caused by: com.google.api.server.spi.response.UnauthorizedException: 403 FORBIDDEN {   "code" : 403,   "errors" : [ {
    "domain" : "global",
    "message" : "Rate limit exceeded. User message: \"These item(s) could not be shared because a rate limit was exceeded: SupportMenuItem.class\"",
    "reason" : "sharingRateLimitExceeded"   } ],   "message" : "Rate limit exceeded. User message: \"These item(s) could not be shared because a rate limit was exceeded: FILENAME\"" }

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

Как мы узнаем, какой лимит совместного использования превышен? И как только мы узнаем, какой лимит совместного использования превышен, где мы можем найти, насколько велик этот лимит совместного использования? Это лимит обмена в минуту или в день? Нам нужно больше информации об ошибке, чтобы мы могли скорректировать наш скрипт, чтобы пределы совместного доступа больше не превышались. Информация об ошибке вдокументация ограничено, чтобы иметь какую-либо ценность для нас.

 Erik van den Hoorn24 окт. 2017 г., 17:03
Мы используем экспоненциальный откат, поэтому он зависит от количества предыдущих попыток, как долго откат.
 pinoyyid20 окт. 2017 г., 10:22
Сколько запросов в секунду вы отправляете? Многие сервисы Google, особенно Drive, имеют грубый алгоритм ограничения скорости, который включается после 25 или более запросов в быстрой последовательности, а затем эффективно ограничивает обновления примерно 1 раз в 1,5 секунды.
 Erik van den Hoorn23 окт. 2017 г., 15:51
Обычно лимит запросов для Drive API составляет 100 в секунду, но Google увеличил его до 500 в секунду для нас. Если ошибка превышения нормального предела превышена, мы повторяем запрос, который решает проблему. Когда мы повторяем запросы из ошибки sharedRateLimitExceeded, они никогда не бывают успешными.
 pinoyyid23 окт. 2017 г., 17:07
Есть два отдельных ограничения. Независимо от ограничения скорости, настроенного в консоли, существует ограничение DoS, которое применяется с использованием алгоритма токена / корзины. Итак, когда вы говорите: «Когда мы повторяем запросы с ошибкой sharedRateLimitExceeded, они никогда не выполняются успешно», как долго вы откатываетесь, прежде чем отправлять повтор?

Ответы на вопрос(1)

{   "code" : 403,   "errors" : [ {
        "domain" : "global",
        "message" : "Rate limit exceeded. User message: \"These item(s) could not be shared because a rate limit was exceeded: SupportMenuItem.class\"",
        "reason" : "sharingRateLimitExceeded"   } ],   "message" : "Rate limit exceeded. User message: \"These item(s) could not be shared because a rate limit was exceeded: FILENAME\"" } 

которые вы можете вставить в день. Приблизительно 50 за 24 часа вы, кажется, достигли этой квоты. Это должно быть сброшено в середине ночи на западе, стоило США времени.

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

ДокументацияОшибки API Handeling

403: превышен лимит скорости обмена

Пользователь достиг предела общего доступа. Это часто связано с лимитом электронной почты.

{
 "error": {
  "errors": [
   {
    "domain": "global",
    "message": "Rate limit exceeded. User message: \"These item(s) could not be shared because a rate limit was exceeded: filename",
    "reason": "sharingRateLimitExceeded",
   }
  ],
  "code": 403,
  "message": "Rate Limit Exceeded"
 }
}

Предлагаемые действия:

Не отправляйте электронные письма, когда делитесь большим количеством файлов. Если один пользователь делает много запросов от имени многих пользователей домена G Suite, рассмотритеСервисный аккаунт с делегированием полномочий выдавать себя за владельца каждого документа для обмена (настройкапараметр quotaUser).

 Erik van den Hoorn23 окт. 2017 г., 15:43
Мы делаем около 31 миллиона запросов в месяц, распределенных среди 130 пользователей. Около 25 миллионов запросов были удовлетворены. 2,4 миллиона разрешений на создание и 2,5 миллиона запросов на обновление разрешений не выполняются из-за ошибок ограничения скорости. Если запросы не выполняются из-за ошибок ограничения скорости, они повторяются и в большинстве случаев выполняются успешно. Когда мы получаем ошибку sharedRateLimitExceeded и повторяем запрос, он никогда не выполняется успешно. Поэтому нам нужно больше информации об этой конкретной ошибке. В любом случае запросы, генерируемые нашим приложением, часто превышают 50 обновлений разрешений на пользователя в сутки.
 DaImTo23 окт. 2017 г., 15:46
Нет больше информации об этой ошибке, кроме как в документации. Как только вы нажмете ошибку, вам придется подождать, пока полночь на запад не будет стоить времени США, прежде чем пользователь сможет снова сделать запрос.

Ваш ответ на вопрос