我在我的应用程序中使用 BOX SDK。我需要获取文件下载链接,以便我可以将该链接发送到服务器并在那里下载。我怎样才能获得文件下载链接。
问问题
1180 次
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 回答