簡體   English   中英

如何通過搜索從 udemy api 獲取結果

[英]How to get results from udemy api with search

我和這里有同樣的問題如何通過搜索從 Udemy Api 獲取結果? 不幸的是沒有答案。

我可以從這個 URL 中檢索標題等,例如https://www.udemy.com/api-2.0/courses/238934/?fields[course]=@all (您將在your browser) this URL works as well https://www.udemy.com/api-2.0/search-suggestions?q=java but not this one https://www.udemy.com/api-2.0/courses/?搜索=java

正如這里提到的https://www.udemy.com/developers/affiliate/methods/get-courses-list/

獲取 /api-2.0/courses/?search=java應該可以嗎?

這是我的代碼:

$url = "https://www.udemy.com/api-2.0/courses/?search=java";

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_URL,$url);
    $c_id = base64_encode('XXX');
    $c_sid = base64_encode('XXX');

    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);

    curl_close($ch);

    $result = json_decode($result);

    $title = $result->title;

如果有人可以請對此有所了解。

根據 ADyson 的評論,這是答案(只需使用您自己的 clientID 和 Udemy 的 clientSecret ID 更新代碼):

我基本上更新了 CURLOPT_HTTPHEADER:

代碼:

    $url = "https://www.udemy.com/api-2.0/courses/?search=java";

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_URL,$url);

//HTTP username.
$clientID = 'XXX';
//HTTP password.
$clientSecret = 'XXX';
//Create the headers array.
$headers = array(
    'Content-Type: application/json',
    'Authorization: Basic '. base64_encode("$clientID:$clientSecret")
);
//Set the headers that we want our cURL client to use.
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
    
    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);

    curl_close($ch);

    $json = json_decode($result, true);
    
   // return $result; 
   foreach($json['results'] as $results) {

$title = $results['title'];
 
echo $title.'<br>';

}

結果:(基於此搜索的課程名稱: https://www.udemy.com/api-2.0/courses/?search=java

Java 軟件開發人員編程大師班

Java 適合初學者的編程

Java 深入了解:成為一名完整的 Java 工程師!

完整的 Java 認證課程

等等。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM