Я пытаюсь сделать запрос к API через PHP cURL
$access_token = $tokens['access_token'];
$headers = array(
"Authorization: Bearer " . $access_token
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,env('USER_INFO'));
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "GET");
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
curl_setopt($ch, CURLOPT_TIMEOUT_MS, 1000);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_VERBOSE, TRUE);
curl_setopt($ch, CURLOPT_ENCODING , "gzip");
curl_setopt($ch, CURLOPT_USERAGENT,'php');
curl_setopt($ch, CURLOPT_HTTPHEADER,$headers);
$info = curl_getinfo($ch);
$userInfo = curl_exec($ch);
$userInfo = json_decode($userInfo, true);
dd($userInfo);
Я продолжал получать это обратно
{"sub":"acr:123;type=STAT","updated_at":1509463516,"name":"User","email":"[email protected]"}
1
Если я сделаю
$userInfo = json_encode($userInfo, true);
я получил
{"sub":"acr:123;type=STAT","updated_at":1509463516,"name":"User","email":"[email protected]"}
"true"
Как мне избавиться от 1
или же true
ниже, и только получить данные JSON?
Есть ли другой параметр для json_decode () что мне нужно передать?
Как можно пойти дальше и отладить это дальше?
Я открыт для любых предложений в данный момент.
Будем очень благодарны за любые советы / предложения / помощь по этому вопросу!
Установить CURLOPT_RETURNTRANSFER
скручиваемость curl_exec
только что вернулся true
без этого, (это отголоски ответ и возвращается правда; см. возвращаемые значения curl_exec) а также json_decode(true)
правда.
Как можно пойти дальше и отладить это дальше?
Пара вещей для экспериментов:
Удалить $userInfo = json_decode($userInfo, true);
а также
dd($userInfo);
, Без CURLOPT_RETURNTRANSFER
Если вы выбрали опцию, вы все равно должны увидеть не декодированный JSON, но не true
или же 1
,
Добавить еще dd($userInfo);
перед json_decode
, Вы увидите, что curl_exec
на самом деле вернулся, что может помочь вам устранить json_decode
в качестве возможной причины для этого странного поведения.
Следующая строка должна решить вашу проблему с ответом.
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);