我使用Laravel 5.5和Guzzle 6.3开发网站。
尝试使用API​​创建到BOX的文件夹时,尝试吞噬嵌套数组时遇到问题。

$url = $this->api_url . "/folders";
$headers = [
    'Authorization' => 'Bearer ' . $this->access_token,
];
$client = new Client();
$response = $client->post($url, [
    'headers' => $headers,
    'form_params' => [
        'name' => $name,
        'parent' => [
            'id' => $parent_id
        ]
    ]
]);
它显示给我这样的错误:

我也已经尝试过使用shell_exec curl,因此它从命令提示符运行curl,并且给了我同样的错误
laravel - 大量发布嵌套数组问题-LMLPHP
但是,当我尝试从cygwin运行时, curl 效果很好。
我也可以使用分段请求嵌套数组来做上传,但效果很好。
当嵌套数组与多部分请求一起正常工作时,我不知道为什么会遇到此嵌套数组问题。
包装盒文档POST is here的引用。

最佳答案

根据docs,您不能使用multipart选项:

因此,也许在创建Client实例时尝试设置 header :

$url = $this->api_url . "/folders";

$client = new Client([
    'headers' => [
        'Authorization' => 'Bearer ' . $this->access_token,
        'Accept'        => 'application/json',
    ]
]);

$response = $client->post($url, [
    'json' => [
        'name' => $name,
        'parent' => [
            'id' => $parent_id
        ]
    ]
]);
实际上在再次阅读框引用之后,发布没有文件上传的请求,它接受application/json,
这是用于application/x-www-form-urlencoded的form_params

关于laravel - 大量发布嵌套数组问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52411226/

10-12 07:29