Получение ответа "400 Bad Request" с использованием Guzzle в laravel
Я пытаюсь использовать сторонние API в моем приложении Laravel, используя Guzzle, но я получаю ошибку 400 Bad Request. Ниже приведен код для контроллера
<?php
public function sendEmailAmazon(Request $request)
{
$data = json_decode(json_encode($request->all()));
$mailaddresses = $data->tomail;
// dd($mailaddresses);
foreach ($mailaddresses as $mailaddress) {
$client = new Client();
$value = Config::get('app');
$maildata = array(
'mailId' => null,
'type' => '1',
'from' => array(
'name' => $value['from_name'],
'address' => $value['from_email'],
'mobile' => $value['from_mobile'],
),
'to' => $data->tomail,
'cc' => null,
'replyTo' => null,
'subject' => $data->subject,
'body' => $data->msg,
'text' => null,
'attachment' => null,
'personalization' => array(
'salutation' => 'Dear',
'useFirstNameOnly' => true
),
'apiKey' => $value['api_key'],
'apiSecret' => $value['api_secret'],
'customerId' => $value['customer_id'],
);
$data2 = json_encode($maildata);
$url = $value['api_url'];
try {
$res = $client->post($url, ['Accept' => 'application/json', 'json' => $data2, ]);
return $res;
$this->addEmailHistory($data);
return response()->json(['success' => 'true', 'data' => $data2, 'message' => 'Email sent']);
} catch(Exception $ex) {
return Common::getJsonResponse(false, $ex->getMessage() , 300);
}
}
}
Я также попробовал следующий код, как указано в документации, но все еще получаю ту же ошибку:
$r = $client->request('POST', $url, [
'json' => $data2
]);
Мой маршрут
Route::post('email/sendEmailAmazon', 'EmailsController@sendEmailAmazon');
1 ответ
Ваша ошибка может быть от сервера API. Если ваш API также написан с использованием laravel, я думаю, что это ошибка исключения несоответствия токена CSRF.