我能够使用Microsoft API将文件上传到同一域内共享的文件夹。例如,user1@mycompany.com
与user2@mycompany.com
共享目录,然后我就可以通过user2@mycompany.com
写入共享文件夹。
更具体地说,我能够使用以下API创建上传会话:
https://graph.microsoft.com/v1.0/drives/<drive_id>/items/<dir_id>:/<filename>:/createUploadSession
但是,如果404
和drive_id
来自另一个域的用户,则相同的API将返回dir_id
。例如,another@othercompany.com
将文件夹共享到user2@mycompany.com
,然后通过user2@mycompany.com
上传文件。
来自API的错误消息是
{
"error": {
"code": "itemNotFound",
"message": "The resource could not be found.",
"innerError": {
"request-id": "526d86bc-c620-4782-a74d-c8cd8284df8b",
"date": "2018-10-19T20:54:37"
}
}
}
是否存在可以将OneDrive文件上传到不同域中的共享文件夹的API?
答案 0 :(得分:0)
此时,您只能从经过身份验证的帐户的组织访问驱动器。如果alice@company1.com
与bob@company2.com
共享并且bob@company2.com
在company1
组织中有一个来宾帐户,那么我相信如果您使用外部来宾帐户登录company1
,那么您就可以访问共享驱动器。
或者,如果您的应用程序能够同时对两个帐户进行身份验证,则您可以利用上载和下载URL可以自我认证的事实,并执行以下操作:
alice@company1.com
的身份验证令牌,在文件夹上调用createUploadSession。bob@company2.com
的身份验证令牌,下载要共享的文件。