0

I want use udemy api in my website with search field in api. Udemy gives my this url: /api-2.0/courses/?search=mysql which when I use I'm getting an empty array in my results.

However, when I use this url: /api-2.0/courses/ It works fine, and I'm getting 1000 rows of course details..

Please help me out with the search option, how do I make it work?

<?php
echo "API testing is going on\n";


function callAPI($method, $url, $data){
   $curl = curl_init();

   switch ($method){
      case "POST":
         curl_setopt($curl, CURLOPT_POST, 1);
         if ($data)
            curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
         break;
      case "PUT":
         curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "PUT");
         if ($data)
            curl_setopt($curl, CURLOPT_POSTFIELDS, $data);                              
         break;
      default:
         if ($data)
            $url = sprintf("%s?%s", $url, http_build_query($data));
   }

   // OPTIONS:
   curl_setopt($curl, CURLOPT_URL, $url);
   curl_setopt($curl, CURLOPT_HTTPHEADER, array(   'Accept: 
application/json, text/plain, */*',
          'Content-Type: application/json;charset=utf-8',    
        'Authorization: xxx',
   ));
   curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
   curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);

   // EXECUTE:
   $result = curl_exec($curl);
   if(!$result){die("Connection Failure");}
   curl_close($curl);
   return $result;
}

$URL="https://www.udemy.com/api-2.0/courses?search=mysql',auth= 
   ('xxclientidxx','xxclientsecretxx')'";

$get_data = callAPI('GET',$URL,false);
$response = json_decode($get_data, true);

$file_json=$response['results'];
$fp=fopen('results.json','w');
fwrite($fp,json_encode($response));
fclose($fp);

echo '<br>';


print_r($response['results']);

?>
Tanshiv2
  • 13
  • 6

1 Answers1

0

It would be good if you can check the API docs available from Udemy. Swagger API platform seems available for them.

Please check the URL for the courses API: https://www.udemy.com/developers/affiliate/methods/get-courses-list/

Nishant
  • 155
  • 11