gpt4 book ai didi

json - 通过 API 访问公开共享的 OneDrive 文件夹

转载 作者:行者123 更新时间:2023-12-01 19:36:33 34 4
gpt4 key购买 nike

我有一个公开共享的 OneDrive 文件夹,其中包含一些不同的子文件夹和文件。 IE。我通过链接分享了它,因此任何拥有此链接的人都可以访问它们。

有没有一种方法可以通过某种 REST API 从客户端 JavaScript 或某些服务器端代码访问这些文件?无需使用任何类型的用户特定凭据?

我一直在尝试的

我一直在看Accessing Shared Content页面,它看起来像我想要的,但不知道如何使用它。

我从共享 URL 中获取了一个看起来像 id 的东西,它看起来是一个长的十六进制数字(这似乎是一个指向我的 id?),一个!,然后是一个数字(我认为必须这样做与共享资源)。

然后,我尝试将其粘贴在此 URL 中:

https://api.onedrive.com/v1.0/shares/<id>/root?expand=children

但是我收到了一个 400 Bad Request,所以有些地方不太对劲……

我在想可能缺少某种身份验证,但由于共享文件是公开的,我不需要用户使用他们的凭据登录,当然也不能在代码中使用我自己的。

我试过 register an app ,我在其中获得应用程序 ID(guid)并可以生成密码和 key 对。希望也许我可以使用它,但在 API 中看不到如何以及在何处实际使用它们......

目标

共享文件夹包含合唱团的乐谱,我负责保持更新(OneDrive 同步在这里非常方便)。

一些成员不是很精通计算机,所以我想让查看和下载这些文件尽可能容易。带有“去这里到另一个奇怪的网站并在那里找到文件”的共享链接 - 文本类型的作品,但我更愿意直接在我们网站的成员(member)专区中列出文件。基本上只是“这里是文件,点击一个下载它”。

最佳答案

是的,您可以使用 REST API 访问文件夹的内容。

API就是你提到的那个,shares API。但是,听起来您可能使用了错误的 ID。

最直接的方法是按照 encode the actual sharing URL into a token 的说明进行操作。 .这样您就可以创建共享链接的 base64 编码版本,并附加一个“u!”到该字符串的前面,然后进行您已经提到的确切调用。您将返回共享文件夹中的文件列表,您可以从那里开始。

这是一个例子:
这是 OneDrive 中包含一些照片的文件夹的共享链接。

https://1drv.ms/f/s!AtuAM_NacwVahiFpuMGS_BiQCwWu

要将此 URL 转换为 API,您首先要对 URL 进行 base64 编码并附加 u!

u!aHR0cHM6Ly8xZHJ2Lm1zL2YvcyFBdHVBTV9OYWN3VmFoaUZwdU1HU19CaVFDd1d1

现在您可以将此 URL 用作共享 token ,并展开子项和缩略图:

https://api.onedrive.com/v1.0/shares/u!aHR0cHM6Ly8xZHJ2Lm1zL2YvcyFBdHVBTV9OYWN3VmFoaUZwdU1HU19CaVFDd1d1/root?expand=children

单击此底部链接应为您提供 JSON 响应,其中包括共享文件夹和文件夹内的子文件夹。

关于json - 通过 API 访问公开共享的 OneDrive 文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40454101/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com