邮递员请求有效,而手动完成则无效。没有错误,只是行不通

时间:2019-03-23 16:25:53

标签: json laravel post postman guzzle

当我用邮递员向推板(https://pushpad.xyz/docs/rest_api)的API发出POST请求时,它可以按预期工作,并且我在桌面上收到了推式通知。 但是,当我手动执行此操作时,它只会显示一些损坏的HTML代码,这似乎是Pushpad的仪表板。 我完全没有错误,得到的状态码为200,表示可以。

我已经尝试了以下方法:

$client = new Client([
            'headers' => [ 'Content-Type' => 'application/json' ],
            ['Authorization' => 'Token token="for the sake of privacy removed in this question"'],
            ['Accept' => 'application/json'],
        ]);

        $response = $client->post('https://pushpad.xyz/api/v1/projects/1234/notifications', [
                'json' => [
                    ['body' => 'testbody' , 'title' => 'testtitle']
                ]
            ]);
        echo '<pre>' . var_export($response->getStatusCode(), true) . '</pre>';
        echo '<pre>' . var_export($response->getBody()->getContents(), true) . '</pre>';
        dd($response->getBody()->getContents());

我收到状态码200 对于内容或内容,我只会得到一个简单的“ 因此,问题是,为什么它在Postman中起作用但不能手动起作用。 (使用Laravel 5.5,Guzzle) 有关我在邮递员中所做的工作以及手动代码给我的结果的更多详细信息,请参见该图像。 (参数为空) 非常感谢! image

1 个答案:

答案 0 :(得分:0)

看看标题的大括号。

new Client([
  'headers' => [
    'Content-Type' => 'application/json',
    'Authorization' => 'Token token="for the sake of privacy removed in this question"',
    'Accept' => 'application/json',
  ],
]);