【发布时间】:2018-07-09 21:54:56
【问题描述】:
我正在尝试使用守护程序应用将大文件上传到用户的 OneDrive for Business 帐户。我已经成功地进行了身份验证并获得了不记名令牌、创建文件夹并上传了小文件。
对于大文件,我创建了一个上传会话,但在尝试使用该会话添加文件部分时收到错误消息。我已经包含了我的提琴手痕迹来尝试诊断这个。我已删除我的敏感信息。
我请求上传会话
POST https://graph.microsoft.com/v1.0/users/{user id}/drive/items/{folder id}:/Test.csv:/createUploadSession HTTP/1.1
Authorization: Bearer {bearer token}
Content-Type: application/x-www-form-urlencoded
Host: graph.microsoft.com
Content-Length: 0
我收到包含以下内容的回复:
"@odata.context":"https://graph.microsoft.com/v1.0/$metadata#microsoft.graph.uploadSession",
"expirationDateTime":"2016-10-05T11:39:29.5104044Z",
"nextExpectedRanges":["0-"],
"uploadUrl":"https://{my tenant name}.sharepoint.com/personal/name_domain_co_za/_api/v2.0/drive/root:/Backups/Test:/uploadSession?guid='aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa'&path='~tmp12_Test.csv'&overwrite=True&rename=False"}
然后我尝试 PUT 到该上传网址
PUT https://{my tenant name}.sharepoint.com/personal/name_domain_co_za/_api/v2.0/drive/root:/Backups/Test:/uploadSession?guid='aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa'&path='~tmp12_Test.csv'&overwrite=True&rename=False HTTP/1.1
Authorization: bearer {bearer token}
Content-Range: bytes 0-327679/16333102
Host: {my tenant name}.sharepoint.com
Content-Length: 327680
Expect: 100-continue
然后响应包含以下相关行。
HTTP/1.1 401 Unauthorized
x-ms-diagnostics: 3000006;reason="Token contains invalid signature.";category="invalid_client"
{"error_description":"Invalid issuer or signature."}
我觉得这很奇怪,因为使用当前的应用程序配置,我可以成功地将一个小文件上传到同一路径,所以除非我误解了什么,否则权限应该没有任何问题。
【问题讨论】:
-
github 上有一个针对同一问题的线程。那里有解决方案,我会在这里补充。
标签: office365 daemon onedrive microsoft-graph-api