У нас есть зарегистрированное приложение AAD, помеченное как мультитенантное. Мы используем этот идентификатор приложения для создания токена для Microsoft Graph.
- Первый пользователь - Глобальный администратор в Арендаторе, где зарегистрировано приложение.
- Второй пользователь является частью другого Арендатора.
Когда второй пользователь пытался использовать Microsoft Graph для получения информации от OneDrive, мы иногда получаем ошибку HTTP 429 activityLimitReached
.
Мы прочитали руководство о throttling , и там говорится, что необходимо повторить запрос после значения Retry-After
из заголовка ответа. Но в нашем случае в ответе нет поля Retry-After
.
Мы получили эту ошибку, выполняя один запрос в день. Также после получения 429
мы можем повторить попытку и получить успешный результат (после нескольких попыток). Эта ошибка появляется только в OneDrive, другие службы в порядке.
Что мы можем сделать, чтобы избежать ошибки 429
? Как мы можем проверить текущий предел или увеличить его?
Пример запроса
GET https://graph.microsoft.com/v1.0/users/:userId/drives
Пример ответа
HTTP/1.1 429
Cache-Control: private
Transfer-Encoding: chunked
Content-Type: application/json
request-id: 377d2cdf-7be3-4286-819a-46060330365f
client-request-id: 377d2cdf-7be3-4286-819a-46060330365f
x-ms-ags-diagnostic: {"ServerInfo":{"DataCenter":"West Europe","Slice":"SliceA","Ring":"4","ScaleUnit":"000","Host":"AGSFE_IN_13","ADSiteName":"AMS"}}
Duration: 170.5668
Strict-Transport-Security: max-age=31536000
Date: Wed, 23 May 2018 11:39:08 GMT
{
"error": {
"code": "activityLimitReached",
"message": "The request has been throttled",
"innerError": {
"request-id": "377d2cdf-7be3-4286-819a-46060330365f",
"date": "2018-05-23T11:39:09"
}
}
}