Как заставить абстрактные данные JSON только из ответа API?

Я пытаюсь сделать запрос к 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 () что мне нужно передать?


Как можно пойти дальше и отладить это дальше?


Я открыт для любых предложений в данный момент.

Будем очень благодарны за любые советы / предложения / помощь по этому вопросу!

3

Решение

Установить CURLOPT_RETURNTRANSFER скручиваемость curl_exec только что вернулся true без этого, (это отголоски ответ и возвращается правда; см. возвращаемые значения curl_exec) а также json_decode(true) правда.

Как можно пойти дальше и отладить это дальше?

Пара вещей для экспериментов:

  1. Удалить $userInfo = json_decode($userInfo, true); а также
    dd($userInfo);, Без CURLOPT_RETURNTRANSFER Если вы выбрали опцию, вы все равно должны увидеть не декодированный JSON, но не true или же 1,

  2. Добавить еще dd($userInfo); перед json_decode, Вы увидите, что curl_exec на самом деле вернулся, что может помочь вам устранить json_decode в качестве возможной причины для этого странного поведения.

2

Другие решения

Следующая строка должна решить вашу проблему с ответом.

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
0

По вопросам рекламы [email protected]