0

不确定从什么时候开始,但是通过 Graph API 从 OneDrive 下载的一些文件返回 95 字节的内容。这一切都像跟随。

{"error":{"code":"serviceNotAvailable","message":"服务不可用","re​​tryAfterSeconds":30}}

更准确地说,以下 API 返回的文件位置的普通文件下载存在问题。 https://docs.microsoft.com/en-us/onedrive/developer/rest-api/api/driveitem_get_content?view=odsp-graph-online

似乎服务器将错误作为内容返回,而不是通过返回 HTTP 错误。这与“数据完整性”有关,因此我认为您应该始终返回 HTTP 错误。

4

1 回答 1

0

事实证明,当发生超时时,C# HttpClient 会在 AggregateException 中抛出 TaskCanceledException。

所以这不是 API 本身的问题,而是在处理 HttpClient 时需要格外小心。

HttpClient 需要修改为抛出 HttpRequestException 或其他一些与 HTTP 相关的异常,而不是抛出 TaskCanceledException。

于 2020-04-29T14:07:45.153 回答