我遇到了特定的Rest网络服务电话问题:
方法:core_group_create_groups
抛出以下错误:
在参数数组中检测到意外的键(courseid)。
我正在传递文档中定义的确切属性:
_ //List of group object. A group has a courseid, a name, a description and an enrolment key.
list of (
object {
courseid int //id of course
name string //multilang compatible name, course unique
description string //group description text
descriptionformat int Default to "1" //description format (1 = HTML, 0 = MOODLE, 2 = PLAIN or 4 = MARKDOWN)
enrolmentkey string Optional //group enrol secret phrase
idnumber string Optional //id number
}
)_
我正在使用Moodle 3.1+(Build:20160623)
为什么它不喜欢请求中courseid
的任何想法,即使它是一个有效的参数?
答案 0 :(得分:1)
这里也有Moodle文档的问题。 实际上,在文档中标记为可选的参数是必需的。
例如: 在方法'core_role_assign_roles'中你必须传递'contextlevel'和'instanceid',doc说是可选的。
我刚刚使用'core_group_create_groups'方法,它运行正常。这次文档正确通过了3个参数:courseid / name / description。
用过:
"groups[0][courseid]=2&groups[0][name]=grupo2&groups[0][description]=desc grupo2"
也许仔细检查你传递的代码是否存在;) b)真的是课程ID。
希望它有所帮助, 罗德里戈
答案 1 :(得分:0)
您必须使用“ groups”键调用网络服务,以使其正常运行(即,这段代码在PHP中对我有效):
`$this->callWSFunction(
'core_group_create_groups',[
groups =>[
0 =>
[
'courseid' => $id,
'name' => $groupname,
'description' => $groupdescription
]
]
]
);`