Ошибка OneDrive Rest API слишком много запросов при попытке загрузить файл - PullRequest
0 голосов
/ 04 июля 2018

Я использую API для отдыха

https://api.onedrive.com/v1.0/drive/items/{fileID}/content

для загрузки файла OneDrive

Когда я пытался загрузить несколько файлов из OneDrive, возвращалась ошибка ответа:

The remote server returned an error: (429) Too Many Requests.

Я пытался использовать заголовок ответа Retry-After для ожидания перед отправкой другого запроса, но не работал.

Есть ли какое-либо решение или способ обойти эту проблему?

Мой пример кода в c #:

try
{
  HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://api.onedrive.com/v1.0/drive/items/{fileID}/content");
  request.Method = "GET";
  request.Headers.Add("Authorization", "Bearer {accessToken}");
  WebResponse response = request.GetResponse();
  Stream fileStream = response.GetResponseStream();
}
catch (WebException ex)
{
  HttpWebResponse res = (HttpWebResponse)ex.Response;
  int retryAfter = 0;
  if (!string.IsNullOrEmpty(res.Headers["Retry-After"]))
   {
     retryAfter = int.Parse(res.Headers["Retry-After"]);
   }
  Thread.Sleep(retryAfter);
  //re-call same request function
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...