Получить список курсов с помощью udemy api

Я пытаюсь получить список курсов udemy с их партнерским API и PHP.

Я могу получить данные без проблем, если не использую json_decode. Когда я использую json_decode, я получаю эту ошибку.

'SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data'

function getcourse($id)
{
    header('Content-Type: application/json');

    $url = "https://www.udemy.com/api-2.0/courses/$id?fields[course]=@all";
    //  Initiate curl
    $ch = curl_init();
    // Disable SSL verification
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    // Will return the response, if false it print the response
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    // Set the url
    curl_setopt($ch, CURLOPT_URL,$url);
    // Execute
    $c_id = base64_encode('myclientid');
    $c_sid = base64_encode('myclientsecretid');

    curl_setopt($ch,CURLOPT_HTTPHEADER,array('X-Udemy-Client-Id: '.$c_id.'','X-Udemy-Client-Secret: '.$c_sid.'',"Authorization: base64 encoded value of client-id:client-secret","Accept: application/json, text/plain, */*"));
    curl_setopt($ch, CURLINFO_HEADER_OUT, true);
    $result=curl_exec($ch);
    echo curl_getinfo($ch, CURLINFO_HEADER_OUT);
    echo curl_getinfo($ch,CURLINFO_HTTP_CODE);
    // Closing
    curl_close($ch);


    $result = json_decode($result);
    return $result; 
}


$cdetail = getcourse(120042);
print_r($cdetail);

Это ошибка javascript, а не php...

Xatenev 12.02.2019 13:32

Начните отладку, выведя простой echo $result;, а затем покажите нам, что у вас получилось.

RiggsFolly 12.02.2019 13:32

«Уловимая фатальная ошибка: объект класса stdClass не может быть преобразован в строку в /index.php в строке 31», которая нацелена на «echo $result;»

Tugce Aksoz 12.02.2019 13:40

Теперь ставим echo $result;сразу после этой строки$result=curl_exec($ch); echo $result;

RiggsFolly 12.02.2019 13:44

@TugceAksoz Вы должны повторить это до в json_decode, иначе он станет объектом...

Xatenev 12.02.2019 13:44

Было бы полезно увидеть код javascript, на который указывает ошибка.

Xatenev 12.02.2019 13:46

Никаких дополнительных ошибок не ожидается, предупреждение JSON Parse. Тем не менее, я вижу информацию о курсе udemy на вкладке данных.

Tugce Aksoz 12.02.2019 13:50

@RiggsFolly 'неожиданный непробельный символ после данных JSON в строке 1 столбца 10235 данных JSON'

Tugce Aksoz 12.02.2019 14:00

Пожалуйста, разместите вывод echo $result, написанный в нужном месте вашего кода.

RiggsFolly 12.02.2019 14:03
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
9
859
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Я не получил никакой ошибки при запуске вашего кода. Вы получаете эту ошибку

SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data'

Поскольку вы используете «header('Content-Type: application/json');» и вы, вероятно, используете Firefox, он будет думать, что весь контент является json, и проверит, есть ли с ним что-то не так.

Комментарий "header('Content-Type: application/json');" и вы получите свои данные.

Да, сейчас намного лучше!

Xatenev 12.02.2019 14:57

Другие вопросы по теме