403: ошибка квоты: превышен лимит скорости пользователя при выполнении пакетного запроса - PullRequest
0 голосов
/ 07 января 2019

Я получаю код ошибки «403: ошибка квоты: превышен предел скорости пользователя» с пакетными запросами к API управления Google Analytics (v3), указывающими на представления управления (профили): исправление .

Мне известно о ограничениях квот из документов, которые предполагают, что я достиг предела записи в 50 запросов / день.

Однако это происходит только с пакетными запросами. Индивидуальные звонки, как это:

gapi.client.analytics.management.profiles.patch({
        "accountId": "someAccountId",
        "webPropertyId": "some propertyID",
        "profileId": "someProfileId",
        "resource": {
          "excludeQueryParameters" : "someTestValue"
        }
      })
          .then(function(response) {
                      // Handle the results here (response.result has the parsed body).
                      console.log("Response", response);
                    },
                    function(err) { console.error("Execute error", err); });

  });

все еще приходит с кодом 200er.

Для пакетного запроса первый запрос, добавленный к пакету, всегда выполняется успешно, тогда как все последующие отбрасывают 403er.

Код для пакетных запросов выглядит примерно так:

function runQuery(someArray) {

    var batch = gapi.client.newBatch();

    var request = function (query) {

        return gapi.client.request({
          //For demonstration purposes only. Imagin "path" gets adapted to the individual API calls
          "path" : "https://www.googleapis.com/analytics/v3/management/accounts/accountId/webproperties/webPropertyId/profiles/profileId",
          "method" : "PATCH",
          "body" :  {
            "excludeQueryParameters" : "someTestValue1"
          }
        });
    }

    //Add to Batch    
    someArray.forEach(function(el) {
          batch.add(request(el))
    });

    //Execute Batch Request
    batch
      .then(function(response) {
            console.log("Response", response);
          },
          function(err) { console.error("Execute error", err); 
          }
      );
};

Полное сообщение об ошибке:

body: "{"error":{"errors":[{"domain":"global","reason":"userRateLimitExceeded","message":"Quota Error: User Rate Limit Exceeded."}],"code":403,"message":"Quota Error: User Rate Limit Exceeded."}}"

1 Ответ

0 голосов
/ 07 января 2019

Я предполагаю, что вы достигли лимита записи 1,5 qps. Поскольку вы отправляете более 2 записей одновременно. Таким образом, первая запись завершается успешно, затем все другие операции записи завершаются неудачей.

...