使用BOX SDK iOS获取文件下载链接

时间:2014-06-09 08:43:41

标签: ios box-api box

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

2 个答案:

答案 0 :(得分: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” - > “权限” - > “can_download”为true,Box将为您的文件生成可下载的共享链接。

答案 1 :(得分:1)

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

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

你需要做的两件事。

  • 文件ID - 在Box文件对象中明确指定为id
  • 共享ID - 未在框文件的shared_link对象中明确指定,但可以从网址中提取,例如的 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]

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