如何使用cURL从Box文件选择器URL下载文件

时间:2017-06-27 22:18:29

标签: curl box-api boxapiv2

我在我的Web应用程序中使用Box file picker来发送信息的JS对象。基于窗口小部件中选择的文件。在对象中,返回的部分是一个有效15分钟的URL。此URL允许您查看和下载文件。我正在尝试利用cURL下载文件,但它似乎并没有起作用。我想知道我是否错过了这个过程中的一步。

以下是从文件选择器窗口小部件成功返回的对象的屏幕截图: enter image description here

这是我的cURL尝试在命令行中使用相同的URL下载文件: enter image description here

这是我的文件选择器小部件的代码(我已用哈希替换了客户端ID):

 <div id="box-select" data-link-type="shared" data-multiselect="true" data-client-id="#########"></div>
 <script src="https://code.jquery.com/jquery-3.2.1.min.js" integrity="sha256-hwg4gsxgFZhOsEEamdOYGBf13FyQuiTwlAQgxVSNgt4=" crossorigin="anonymous"></script>
 <script type="text/javascript" src="https://cdn01.boxcdn.net/js/static/select.js"></script>
 <script>
 $(document).ready(function() {
  var boxSelect = new BoxSelect();
  // Register a success callback handler
  boxSelect.success(function(response) {
    console.log(response);
  });
  // Register a cancel callback handler
  boxSelect.cancel(function() {
    console.log("The user clicked cancel or closed the popup");
  });
  });
  </script>

如果我在配置中遗漏了某些内容,请告诉我。谢谢你的帮助!

2 个答案:

答案 0 :(得分:1)

您配置了Box文件选择器,为您提供shared链接类型,这是其他Box用户可通过浏览器访问的链接,具体取决于权限。

如果您想要任何人都可以使用的下载链接(有效期为15分钟),则需要direct链接类型。因此,将文件选择器代码的第一行更改为data-link-type="direct",您应该获得更长的URL,您可以使用curl。

https://developer.box.com/v2.0/docs/the-box-file-picker#section-configuration-options

答案 1 :(得分:0)

您可以使用copy as curl的浏览器。步骤如下:

  1. 从浏览器中打开链接,然后通过UI进行示例下载。保持浏览器开发工具的“网络标签”打开。

  2. 右键单击鼠标,然后为通过UI下载的“下载”请求(显示在网络请求中)执行“复制为卷曲”选项。

  3. 粘贴卷曲在终端上的东西,您就完成了。

注意:根据您的curl版本,curl程序可能会警告您,有可能在终端中看到二进制响应并在curl上引起不良响应。如果您看到上述警告,请同时使用--output filename.zip选项和curl