OneDrive API共享文档,用于脱机写入/更新

时间:2018-04-12 15:42:01

标签: javascript java rest api onedrive

我创建了一个使用OneDrive API(https://docs.microsoft.com/en-us/onedrive/developer/rest-api/)来执行操作的Web应用程序,例如创建/更新/重命名/删除文档等。我正在使用OAuth 2.0授权请求(客户端 - 这意味着每个访问令牌在约1小时内有效,然后以静默方式获取新令牌)然后使用该令牌执行先前的操作。

我要求授权用户共享他/她的文档以进行编写/更新(我发现API有插入权限的选项(https://docs.microsoft.com/en-us/onedrive/developer/rest-api/api/driveitem_invite)。

非经过身份验证的用户是否可以编写/更新文档(以编程方式 - 通过OneDrive API或其他API?),这些文档是从共享这些文档的经过身份验证的用户创建的? (当用户共享文档时,类似于Microsoft Word在线,而离线/访客用户可以编辑它?

感谢。

1 个答案:

答案 0 :(得分:0)

一些更新: 首先,REST API /端点的文档是混乱的。 (https://github.com/OneDrive/onedrive-api-docs/issues/839

我发现我可以通过这些端点获取共享文档:

获取https://api.onedrive.com/v1.0/shares/encodedUrl/driveItem

只有拥有访问令牌才能更新共享文档 PUT https://api.onedrive.com/v1.0/shares/encodedUrl/driveItem/content?access_token=accessToken

其中encodedUrl可以获取为:https://developer.microsoft.com/en-us/graph/docs/api-reference/v1.0/api/shares_get (查看带有共享网址的C#示例)

所以,我仍然想知道如何在没有任何身份验证的情况下更新文档,只是一个共享网址。