Microsoft graph api MS Graph置于从createUploadSession创建的uploadUrl上会导致404

Microsoft graph api MS Graph置于从createUploadSession创建的uploadUrl上会导致404,microsoft-graph-api,onedrive,microsoft-graph-sdks,microsoft-graph-files,Microsoft Graph Api,Onedrive,Microsoft Graph Sdks,Microsoft Graph Files,对共享的文件执行可恢复上载时,无法使用createUploadSession返回的url 使用/content直接上传可以正常工作,但限制为4MB 方案UserA共享具有UserB 使用ms graph javascript sdk const{uploadUrl}=wait this.client.api(`/drives/${driveId}/items/${id}/createUploadSession`)。post({}); 尝试使用uploadUrl会导致404{“错误”:{“cod

对共享的文件执行可恢复上载时,无法使用createUploadSession返回的url

使用/content直接上传可以正常工作,但限制为4MB

方案
UserA
共享具有
UserB
使用ms graph javascript sdk

const{uploadUrl}=wait this.client.api(`/drives/${driveId}/items/${id}/createUploadSession`)。post({});
尝试使用
uploadUrl
会导致404
{“错误”:{“code”:“itemNotFound”,“message”:“找不到资源”。}}

有趣的是,
uploadUrl
看起来像这样
https://{tenant}-my.sharepoint.com/personal/{UserA}{tenant}\u com/_-api/v2.0/drives/${driveId}/items/${id}/uploadSession?guid='5b85df9e-b524-4000-9883-8106a13e592f'.

不确定它是否与url中嵌入的UserA相关

如果
UserA
访问同一个文件并进行类似的上载,则文件上的所有内容都可以正常工作

以下所有请求均适用于任一用户:

等待这个.client.api(`/drives/${driveId}/items/${id}/checkout`);
等待这个.client.api(`/drives/${driveId}/items/${id}/content`);
等待这个.client.api(`/drives/${driveId}/items/${id}/checkin`);

uploadUrl
从createUploadSession返回的对任何有权创建上载会话的用户都应有效。

您不能上载/替换从其他用户的OneDrive共享的文件。创建上载会话会在驱动器中创建一个临时文件,用于写入每个区块。由于用户B没有对用户A的OneDrive的读/写访问权限,因此他们无法创建该临时文件(因此,
404-未找到

这在逻辑上对我来说没有意义,如果我共享一个具有读/写访问权限的文件,为什么我不能对该文件进行更改?为什么我能够在上传会话之外直接上传到文件?我正在尝试为我的文件类型创建一个自定义文件处理程序。如果文件小于4mb,因为不需要上载会话,我希望通过它的声音提供与office产品相同的体验,但对于较大的文件,这不受支持?可能的解决办法是什么?我是否可以向/me写入一个临时文件,然后将该文件复制到另一个文件之上?这听起来更像是uploadsession实现方式的一个缺陷,它已泄漏到错误的API行为中。我不认为这是对上传会话的限制,因为我不拥有这些API,我无法真正说明它们是如何实现的,或者为什么实现的。我只能说出我对现有行为的理解。