首页 文章

OneDrive 2.0下载文件内容401 HTTP代码

提问于
浏览
0

我创建了一个Azure AD应用程序,它使用应用程序权限对OneDrive API具有完全访问权限(R&W) . (我的应用程序是一个守护程序应用程序 . )这些权限被授予和批准 .

HTTP GET https://{MyTenant}.sharepoint.com/_api/v2.0/drives//root://Document.docx

返回200,内容包含有关该文件的JSON信息

获取2016-12-24T14:15:31.458请求uri:

https://{MyTenant}.sharepoint.com/_api/v2.0/drives//root://Document.docx:/content

2016-12-24T14:15:31.888 StatusCode: 401, ReasonPhrase: 'Unauthorized', Version: 1.1, Content: System.Net.Http.StreamContent, Headers: { X-SharePointHealthScore: 0 SPRequestGuid: c935c49d-a0fa-3000-a357-32b18090ecd4 request-id: c935c49d-a0fa-3000-a357-32b18090ecd4 Strict-Transport-Security: max-age=31536000 X-FRAME-OPTIONS: SAMEORIGIN SPRequestDuration: 140 SPIisLatency: 1 MicrosoftSharePointTeamServices: 16.0.0.6008 X-Content-Type-Options: nosniff X-MS-InvokeApp: 1; RequireReadOnly Cache-Control: private Date: Sat, 24 Dec 2016 14:15:31 GMT P3P: CP="ALL IND DSP COR ADM CONo CUR CUSo IVAo IVDo PSA PSD TAI TELo OUR SAMo CNT COM INT NAV ONL PHY PRE PUR UNI" Server: Microsoft-IIS/8.5 WWW-Authenticate: NTLM X-AspNet-Version: 4.0.30319 X-Powered-By: ASP.NET Content-Length: 16 Content-Type: text/plain; charset=utf-8 } 2016-12-24T14:15:31.888 401 UNAUTHORIZED

我正确添加了Authorization标头 . 我创建了一个上传函数,它将文件发送到同一个文档库,并且工作正常,与删除功能相同 .

这个401的原因是什么,只有在请求文件的内容时?我怎么能解决这个问题?

我将JWT令牌加载到jwt.io中:它具有以下角色:"roles": [ "TermStore.ReadWrite.All", "Sites.Manage.All", "TermStore.Read.All", "Sites.Read.All", "Sites.ReadWrite.All", "Sites.FullControl.All" ] 这里发生了什么?请求的URI是: https://<myTenantName>.sharepoint.com/_api/v2.0/drives/<myDriveName>/root:/faas.pptx:/content

使用两种类型的GET请求时GET / drive / items / / content GET /drive/root:/{path and filename}:/content -> return 401 Unauthorized

最好的祝福,

1 回答

相关问题