1

我在我的应用程序中使用 BOX SDK。我需要获取文件下载链接,以便我可以将该链接发送到服务器并在那里下载。我怎样才能获得文件下载链接。

4

2 回答 2

1

由于shared_link对象具有直接download_link但这不允许您直接下载文件,而是需要显式单击。

我已经完成了一个解决方法,可以直接成功下载 Box 文件。此外,我有一个基本的 Box 帐户。

你需要得到两件事。

  • 文件 ID -它在 Box 文件对象中明确给出为 id
  • 共享 ID -未在 box 文件的 shared_link 对象中明确给出,但可以从 url 中提取,例如https://app.box.com/s/[YOUR_SHARED_ID]

现在我们可以手动构建下载。

https://app.box.com/index.php?rm=box_download_shared_file&shared_name=[FILE_SHARED_ID]&file_id=f_[FILE_ID]

我知道这有点老套,但这确实正确地解决了我们的问题。请注意,如果他们在盒子的服务器端更改 url 的格式,这种直接访问 url hack 将停止工作......

于 2014-06-12T08:07:27.950 回答
1

您要查找的信息位于文件 JSON 的“shared_link”部分中。它看起来像这样:

  "shared_link": {
        "url": "https://www.box.com/s/rh935iit6ewrmw0unyul",
        "download_url": "https://www.box.com/shared/static/rh935iit6ewrmw0unyul.jpeg",
        "vanity_url": null,
        "is_password_enabled": false,
        "unshared_at": null,
        "download_count": 0,
        "preview_count": 0,
        "access": "open",
        "permissions": {
            "can_download": true,
            "can_preview": true
        }

Box API 的输入和输出通常是对称的,因此如果您在正在查看的特定文件上还没有 download_url,并且想要获得一个,您应该设置“shared_link”->“permissions”-> "can_download" 为 true,Box 将为您的文件生成一个可下载的共享链接。

于 2014-06-10T23:16:46.780 回答