我制作了一个API,现在我尝试访问该API。 邮差一切都很完美,工作正常:
但是当我用guzzle / laravel尝试相同的代码:
$res3 = $client3->post('https://app.EXAMPLE.com/api/update/'.$serial, [
'headers' => [
'Authorization' => 'Bearer '.$res2['token'],
'Content-Type' => 'application/json'
],
'form_params' => [
'token' => $res2['token'],
'bookingdate' => '07/07/2018 12:00 am',
'notes' => $SpecialRequests
]
]);
我得到了:
对象
data:debug:class: “的Symfony \分量\ HttpKernel \异常\ UnauthorizedHttpException” 文件:“/ home / user_name / public_html/vendor/dingo/api/src/Auth/Auth.php” 行:113
什么问题?什么在Postman工作,但不适用于Laravel / Guzzle图书馆?
答案 0 :(得分:5)
在Postman中,您似乎将令牌作为请求参数发送。在您的代码中,看起来您使用的是form_params,它是application / x-www-form-urlencoded。
试试这个: http://docs.guzzlephp.org/en/stable/quickstart.html#query-string-parameters
$res3 = $client3->post('https://app.EXAMPLE.com/api/update/'.$serial, [
'headers' => [
'Authorization' => 'Bearer '.$res2['token'],
'Content-Type' => 'application/json'
],
'query' => [
'token' => $res2['token'],
'bookingdate' => '07/07/2018 12:00 am',
'notes' => $SpecialRequests
]
]);