在同一应用程序的不同用户之间共享OneDrive中的文件

本文关键字:OneDrive 共享 文件 之间 应用程序 用户 | 更新日期: 2023-09-27 17:58:07

我的UWP应用程序需要在不同用户之间共享一些xml文件。假设用户A创建文件,用户B需要访问这些文件(读取和写入)。

这些文件由用户A保存到OneDrive上的应用程序文件夹(OneDrive>Apps>MyApp>file.xml)。

现在,当用户B使用该应用程序时,他需要访问A的OneDrive上的文件。

据我所知,使用C#OneDrive SDK,我有两种方法让B访问文件:

1) 用户A与用户B共享MyApp文件夹,并向他发送文件夹id。用户B在应用程序中输入文件夹id,应用程序可以使用文件夹id获取文件。

2) 用户A与用户B共享MyApp文件夹;用户B将共享文件夹添加到他的OneDrive;现在,该应用程序可以通过查找Drive/Root的子文件夹来搜索该文件夹,并找到一个名称正确且有远程项目的文件夹。该应用程序可以使用远程项目id获取文件。

我真的不喜欢这两种解决方案,因为它们都依赖于用户的工作,而用户的工作很容易出错,而且可能不是他们以前必须做的事情(在电子邮件中发送奇怪的id,在应用程序中输入,或将共享文件夹添加到OneDrive)。

理想情况下,我会让用户A与B共享文件夹,然后应用程序会以某种方式通过B的OneDrive找到它(没有B明确添加它),但我还没有找到使用C#SDK实现这一点的方法。

在同一应用程序的不同用户之间共享OneDrive中的文件

对于有相同问题的人:

事实证明,应该可以通过API找到与用户共享的文件夹,但由于这个bug,它不起作用:https://github.com/OneDrive/onedrive-sdk-csharp/issues/133

有一个只适用于API 1.2版的bug修复程序,可以在这个分支中找到:https://github.com/OneDrive/onedrive-sdk-csharp/tree/v1-maintenance