ボックスAPI2.0curlの例に従ってファイルのメタデータを取得すると、情報が取得されます。ファイルをダウンロードするためにURLに/dataを追加すると、curlは次のように言います。
curl:(52)サーバーからの空の応答
私はこれを2つのファイル、両方のテキストファイル、同じ結果で行いました。
ここでのシステムはOpenBSD5.0です。
Python 3では、同じリクエストで、サーバーからの応答に空のステータス行が含まれているという例外が発生します。
ボックスAPI2.0curlの例に従ってファイルのメタデータを取得すると、情報が取得されます。ファイルをダウンロードするためにURLに/dataを追加すると、curlは次のように言います。
curl:(52)サーバーからの空の応答
私はこれを2つのファイル、両方のテキストファイル、同じ結果で行いました。
ここでのシステムはOpenBSD5.0です。
Python 3では、同じリクエストで、サーバーからの応答に空のステータス行が含まれているという例外が発生します。
同じ問題がありました。CURLOPT_FOLLOWLOCATION
問題は、オプションを true に設定する必要があることです。Box は、API 呼び出しから実際のファイルへのリダイレクトを実行します。それがないと、空の応答が返されます。
ファイル自体が空の場合は、空の応答が返されます。たとえば、2 つのテキスト ファイルにテキストが含まれていない場合、テキストは返されません。つまり、これは予期された動作のようです。
私は同じ問題を抱えています。ファイルを正常にアップロードし、ファイル ID を取得しましたが、ファイルをダウンロードしようとしても何も起こりません。元の投稿者が言及したように、URL の「/data」部分を取り除くと、ファイルに関するすべての情報を正常に取得できます。
これは、その特定のファイル ID の単純な「ファイルのダウンロード」ボタンを使用してフォームから呼び出される「ダウンロード コード」です。
$boxkey = "ThisIsMyAPIKey";
$auth_token = $_POST['auth_token'];
$url = "https://www.box.com/api/2.0/files/".$_POST['file_id']."/data";
$header = array("Authorization: BoxAuth api_key=".$boxkey."&auth_token=".$auth_token);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
curl_exec($ch);
curl_close($ch);