用于OneDrive的Microsoft Graph API响应服务不可用

时间:2018-08-28 19:02:35

标签: c# microsoft-graph onedrive

我正在尝试使用一个驱动器图形API将文件夹上传到我的一个驱动器文件夹。

使用常规上传效果很好。

我还在测试可恢复的上传,该上传用于大型文件。但这是我得到奇怪回应的地方。

我正在关注以下链接:https://docs.microsoft.com/en-us/onedrive/developer/rest-api/api/driveitem_createuploadsession

首先,我使用“ https://graph.microsoft.com/v1.0/me/drive/items/xxxxxxxxxx:/filename.txt:/createUploadSession”创建了一个上传会话。

这会给我返回一个uploadUrl值,例如“ https://api.onedrive.com/rup/xxxxxxxxxxxxx

然后我用正确的标题向该URL发出PUT请求。

我收到的响应是一个400(错误请求),其中包含以下文本(包括HTML):

<h2>Our services aren't available right now</h2><p>We're working to restore all services as soon as possible. Please check back soon.</p>Ref A: 235A863C95DC45BE98688D905A7DB3C1 Ref B: BUH01EDGE0107 Ref C: 2018-08-28T18:56:52Z

我已经得到了3天了,我似乎无法获得Microsoft的任何支持。根据该网站的说法,一切都在运行:https://portal.office.com/servicestatus

有人知道我为什么收到此错误吗?

1 个答案:

答案 0 :(得分:0)

我找到了导致错误的原因。

我收到错误消息是因为我在标头中提供了身份验证令牌。

对于小文件上传是必需的,但对于大文件上传则不是必需的。

我对PUT,POST和GET请求使用了相同的代码,我只传递URL和HTTP内容,而且我总是会添加auth标头。但是对于大型文件上传,则不是必需的。

但是由于添加不需要的标头,仍然会收到非常奇怪的错误响应。