在我的网站上显示 onedrive 文件列表
Posted
技术标签:
【中文标题】在我的网站上显示 onedrive 文件列表【英文标题】:Display onedrive filelist on my website 【发布时间】:2014-05-02 02:03:15 【问题描述】:这是我正在尝试做的基本概念。我的网络应用程序允许我的客户登录仪表板。
我想在他们的仪表板上显示的内容之一是他们的工作文件。即:PDF 文件。
我将这些文件存储在 OneDrive 中的每个客户端的单独文件夹中
根文档目录 - 客户 A - 文件1.pdf - 文件2.pdf - 客户 B - 文件1.pdf 等等
所以当客户端 A 登录时,我想显示 ClientA 文件夹中的所有文件... 概念听起来很简单,并且通过我自己的服务器上的存储,我可以很容易地做到这一点,但我找不到如何使用 OneDrive 来做到这一点......
有没有人有任何想法?我发现的有关 OneDrive API 的所有信息都要求用户实际登录我不想要的 onedrive。
【问题讨论】:
抱歉,我没有适合您的解决方案,但是从安全的角度来看,这些文件是否应该公开以便任何人都可以查看?您说 API 需要用户登录。如果您的应用程序以您自己的身份登录,请读取文件,然后将其写入用户将下载和查看的文件。这样用户就不会与 onedrive 进行实际交互,而您维护它的安全性? 是的,我也在考虑安全性,并决定可能最简单的方法是为每个客户端文件夹创建一个单独的嵌入链接,将文件夹密钥等与其余的存储在数据库中他们的详细信息,这样他们只会看到他们的特定文件夹 我的建议是,让您的应用程序以您的身份登录到 onedrive。当客户登录并请求他的文件夹时,您登录的应用程序会返回其文件夹中的文件列表。当他们选择一个文件时。让您的应用程序读取文件并将其存储在本地(服务器)目录中的临时位置,并使用加密唯一的前置/附加字符串,以便其他人无法猜测文件夹中的文件,并运行清理脚本以清除所有 30 分钟以上的临时文件. 【参考方案1】:基本上你使用的 OneDrive 是错误的。您应该要求您的服务的每个用户使用他们的 Microsoft 帐户登录并将文件存储在用户的 OneDrive 中。将它们全部存储在您的 OneDrive 中意味着他们无法在您的应用程序之外访问这些文件(例如通过登录 OneDrive)。您没有使用 Microsoft 帐户作为这些文件的安全措施,而是将所有安全要求置于您自己保护对 OneDrive 帐户的访问的能力上。基本上,强烈不建议按照您建议的方式进行操作。
您可以非常轻松地将 OAuth 集成到您的网站中,以便用户可以将您的网站连接到 OneDrive,然后可以在您的服务中从 OneDrive 访问他们的文件。
替代方法是使用Azure Blob Storage 之类的东西来存储/检索这些文件。然后,您的应用将只具有访问存储所需的一组访问密钥,而您不必处理从服务登录单个 OneDrive 帐户并保持访问和刷新令牌最新的问题。
【讨论】:
以上是关于在我的网站上显示 onedrive 文件列表的主要内容,如果未能解决你的问题,请参考以下文章
如何显示在我的 Facebook Connect 网站上注册的 Facebook 用户列表