为什么我不能用cURL从BOX下载任何文件

时间:2012-10-17 23:45:02

标签: curl box-api

当我运行下面的命令时,它会返回所有预期的数据和有关该文件的信息。我是该文件的所有者,可以直接从Box网站下载

curl https://api.box.com/2.0/files/1790744170/ -H "Authorization: BoxAuth api_key=API_KEY&auth_token=AUTH_TOKEN"

但是这个命令(下面),

curl https://api.box.com/2.0/files/1790744170/data -H "Authorization: BoxAuth api_key=API_KEY&auth_token=AUTH_TOKEN"

将不返回任何内容,甚至不返回HTTP错误代码,所有curl确实会停留一秒钟并返回提示。我尝试curl [etctera] > testfile并弹出小状态栏,最后所有值都为零,例如:

% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                Dload  Upload   Total   Spent    Left  Speed
   0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0

1 个答案:

答案 0 :(得分:2)

这是因为通过Box API的下载实际上是对dl.boxcloud.com上的临时资源302。您可以通过包含-L标志,即

来强制cURL遵循重定向
curl -L https://api.box.com/2.0/files/FILE_ID/content  \
-H "Authorization: BoxAuth api_key=API_KEY&auth_token=AUTH_TOKEN"

(文档没有反映这一点,但现在更新以显示标志)。