Saya sedang menulis aplikasi PHP yang harus mengunggah file pdf ke akun perusahaan Box.com saya.
Saya menerima kesalahan 400 (Parameter input tidak valid dalam permintaan), tetapi menurut saya semuanya benar.
function upload( $doc ) {
if ( ! $this->access() )
$this->getAccess();
if ( ! is_readable($doc) )
return false;
$this->curl->clear();
// $this->curl->setUpload( true );
$this->curl->setMethod( 'POST' );
$this->curl->setHeaders( $this->_header() );
$this->curl->setValues( array(
'parent_id' => 0,
'filename' => '@'.$doc
));
$this->curl->exec( 'https://upload.box.com/api/2.0/files/content' );
echo '<pre>'; print_r($this->curl->getHeaders()); echo '</pre>';
echo '<pre>'; print_r($this->curl->getValues()); echo '</pre>';
$response = $this->curl->getResult(true);
echo "<pre>"; print_r($response); echo "</pre>"; exit;
}
Hasil:
POST /api/2.0/files/content HTTP/1.1
User-Agent: User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:22.0) Gecko/20100101 Firefox/22.0
Host: upload.box.com
Accept: */*
Authorization: Bearer .....
Content-Length: 89
Content-Type: application/x-www-form-urlencoded
Array
(
[parent_id] => 0
[filename] => @/Applications/XAMPP/xamppfiles/htdocs/MyFile.pdf
)
stdClass Object
(
[type] => error
[status] => 400
[code] => invalid_request_parameters
[help_url] => http://developers.box.com/docs/#errors
[message] => Invalid input parameters in request
[request_id] => ......
)
Ketika saya menghapus komentar pada baris untuk membuat file Pengunggahan cURL, metodenya diubah dari POST menjadi PUT dan kemudian saya menerima kesalahan 405 Metode Tidak Diizinkan.
Menurut dokumentasi API di sini http://developers.box.com/docs/#files-upload-a-file Saya mengirimkan semuanya dengan benar.