0

我正在通过 API 从我的 Moodle 站点中提取课程列表,但响应中没有图像 url 或图像名称。有没有办法得到它?

也许我使用的特定端点是错误的,但我找不到另一个列出所有课程的端点(对于未登录的用户,所以所有可用的课程)

https://example.com/webservice/rest/server.php?wstoken=12312312312123&wsfunction=core_course_get_courses&moodlewsrestformat=json

示例响应:

{
"id": 1,
"shortname": "A course title",
"categoryid": 3,
"categorysortorder": 10001,
"fullname": "A full course name ",
"displayname": "Some course",
"idnumber": "",
"summary": "",
"summaryformat": 1,
"format": "topics",
"showgrades": 1,
"newsitems": 5,
"startdate": 1588716000,
"enddate": 0,
"numsections": 7,
"maxbytes": 0,
"showreports": 0,
"visible": 1,
"hiddensections": 0,
"groupmode": 0,
"groupmodeforce": 0,
"defaultgroupingid": 0,
"timecreated": 1588703577,
"timemodified": 1589199433,
"enablecompletion": 1,
"completionnotify": 0,
"lang": "",
"forcetheme": "",
"courseformatoptions": [
{
"name": "hiddensections",
"value": 0
},
{
"name": "coursedisplay",
"value": 0
}
]
},
4

3 回答 3

1

在您的网络服务网址上使用此

core_course_get_courses_by_field具有特定课程 ID 或 ID 列表的函数。

反而 core_course_get_courses

于 2020-07-27T11:18:38.857 回答
0

这是最简单的方法:

$course = get_course($courseid);
\core_course\external\course_summary_exporter::get_course_image($course);

course_summary_exporter函数需要一个描述课程的普通对象(基本上是课程表中的一行作为对象)并返回图像的 URL,或者 false如果没有设置图像。

于 2021-03-31T15:48:18.330 回答
0

只需查看中的代码/course/externallib.php

看起来该服务core_course_search_courses返回了一个overviewfiles为每门课程调用的字段 - 其中包含fileurl应该是图像的链接。

不过我自己没试过。

于 2020-05-15T12:52:51.983 回答