Загрузка файла OneDrive возвращает 95-байтовое содержимое - PullRequest
0 голосов
/ 17 марта 2020

Не знаю точно, с каких пор, но некоторые файлы, загруженные из OneDrive с помощью Graph API, возвращают 95-байтовое содержимое. И все это похоже на следующее.

{"error": {"code": "serviceNotAvailable", "message": "Служба недоступна", "retryAfterSeconds": 30}}

Точнее говоря, обычная загрузка файла для местоположения файла, возвращаемого следующим API, имеет проблему. https://docs.microsoft.com/en-us/onedrive/developer/rest-api/api/driveitem_get_content?view=odsp-graph-online

Похоже, что сервер возвращает ошибку в виде содержимого, а не путем возврата ошибок HTTP. Это связано с «целостностью данных», поэтому я думаю, что вы всегда должны возвращать ошибки HTTP.

1 Ответ

0 голосов
/ 29 апреля 2020

Оказалось, что C# HttpClient генерирует исключение TaskCanceledException в AggregateException, когда происходит тайм-аут.

Так что это не проблема API, а требует особого внимания при работе с HttpClient.

HttpClient необходимо изменить, чтобы вызвать исключение HttpRequestException или другое исключение, связанное с HTTP, за исключением исключения TaskCanceledException.

...