У меня есть следующий код для запроса cURL для аутентификации в качестве первого шага:
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://api.example.com/v1/api2/login?grant_type=client_id",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => "",
CURLOPT_HTTPHEADER => array(
"Authorization: Basic abcdefhjijkjljpeqrperpqweprwqprqrp",
),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
$response = json_decode($response);
Этот код работает нормально и возвращает объект токена Bearer.
ОБНОВЛЕНИЕ: Вот ответ на первый запрос cURL:
{"access_token":"afasfadsfaewrererearaere34343434-34-3403-403-403-3-3434343434343","type":"Bearer"}
Теперь, после получения токена Bearer, я хотел бы сделать GET-запрос, используя тот же API, и вот где у меня проблемы:
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "http://api.example.com/v1/api2/event/adfafsafsfafsffs",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_POSTFIELDS => "",
CURLOPT_HTTPHEADER => array(
"Authorization: Bearer " . $response['access_token'],
),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
Этот код прерывается, когда я пытаюсь его запустить.
Вот документация для форматирования запроса:
curl -X GET \
http://api.example.com/v1/api2/event/adfafsafsfafsffs \
-H 'Authorization: Bearer bzJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9'
Как мне отформатировать второй запрос cURL, чтобы он работал с инструкциями выше, и я мог сделать запрос GET после аутентификации?
Спасибо за помощь!