Ниже приведен запрос скручивания, который загружает файл в Box.
curl -X POST https://upload.box.com/api/2.0/files/content \
-H "Authorization: Bearer <token>" \
-H "Content-Type: multipart/form-data" \
-F attributes='{"name":"Test.pdf", "parent":{"id":"123"}}' \
-F file=@test.pdf
Я пытаюсь сделать то же самое в коде:
$contents = file_get_contents($uri);
$attributes = array(
'name' => $filename,
'parent' => array('id' => $folderId),
);
$options = array(
'attributes' => $attributes,
'file' => $contents,
'headers' => array(
'Content-Type' => 'multipart/form-data',
'Authorization' => 'Bearer '. $boxAccess->getToken()
)
);
$uri = 'https://upload.box.com/api/2.0/files/content';
$client = \Drupal::httpClient();
$response = $client->request('POST', $uri, $options);
Но я возвращаюсь ответ 400 Bad запрос от Box.
Есть идеи, что не так с кодом, который я использую?