我创建了一个使用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在线,而离线/访客用户可以编辑它?
感谢。
答案 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#示例)
所以,我仍然想知道如何在没有任何身份验证的情况下更新文档,只是一个共享网址。