You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Moodle API客户端按课程ID获取测验及传递courseids数组?

解决Moodle API GET请求传递courseids数组的问题

在Moodle API的mod_quiz_get_quizzes_by_courses接口中,GET请求传递数组参数有两种实用且有效的方式:

方式1:重复参数名加方括号

直接在URL中重复带有[]后缀的参数名,每个值对应一个课程ID,这是Moodle API明确支持的标准格式:

https://你的Moodle域名/webservice/rest/server.php?wstoken=你的令牌&wsfunction=mod_quiz_get_quizzes_by_courses&moodlewsrestformat=json&courseids[]=1&courseids[]=2&courseids[]=3

单个课程ID也适用,比如courseids[]=5。

方式2:逗号分隔的字符串(兼容场景)

部分情况下可以将多个课程ID用逗号拼接成字符串传递,但这种方式可靠性不如第一种,建议优先使用方式1:

https://你的Moodle域名/webservice/rest/server.php?wstoken=你的令牌&wsfunction=mod_quiz_get_quizzes_by_courses&moodlewsrestformat=json&courseids=1,2,3

API客户端代码示例(以Python requests为例)

如果用代码调用,无需手动拼接URL,直接在请求参数中传入数组即可,客户端会自动转换为正确的URL格式:

import requests

url = "https://你的Moodle域名/webservice/rest/server.php"
params = {
    "wstoken": "你的令牌",
    "wsfunction": "mod_quiz_get_quizzes_by_courses",
    "moodlewsrestformat": "json",
    "courseids": [1, 2, 3]
}

response = requests.get(url, params=params)
print(response.json())

测试时可以先传单个课程ID验证接口返回,确认正常后再扩展多个ID。

内容的提问来源于stack exchange,提问作者mev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 12:22:02