我有一个edX客户端 ID 和 secret ID,我能够获取所有 edX 在线类(class)的列表,但我希望能够使用像 "robotics"
这样的查询字符串搜索所有 edX 类(class)。 (与此 question 不同,我已经了解如何获取类(class)列表,所以这不是重复的问题...)我尝试过
import requests
# I also tried with search_query instead of search
edx_course_search_response = requests.get('https://api.edx.org/catalog/v1/catalogs/'+edx_course_catalog_id+'/courses/'+"?search=robotics", headers=headers)
我知道目录 ID 和标题信息是正确的,因为我可以获得 edX 类(class)列表。不幸的是,这不起作用,而是像往常一样返回 edX 数据库中的前 20 个在线类(class)。
如果我不能,我想我会使用 whoosh .
最佳答案
我不这么认为。
查询是来自此端点的响应值:GET /catalog/v1/catalogs/{id}/ 。用于检索有关特定目录的信息的端点。它不是用户传递的参数。用户参数是目录ID。
您可以使用此端点:/catalog/v1/catalogs/{id}/courses/
正如评论中提到的,该端点有一个涵盖分页的答案 here 。然后,您可以根据查询术语使用 python 过滤返回的数据集。来自该端点的响应值中的结果数组包含诸如简短描述/长描述/标题之类的字段,这些字段可能对定位有用。
关于python - 有没有办法使用他们的 API 搜索 edx 类(class)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56309608/