Moodle Web服务调用-核心组-创建组-在参数数组中检测到意外键(courseid)

Moodle Web服务调用-核心组-创建组-在参数数组中检测到意外键(courseid),moodle,Moodle,我在一个特定的Rest Web服务调用中遇到问题: 方法:core\u group\u create\u group 正在引发以下错误: 在参数数组中检测到意外键(courseid) 我正在传递文档中定义的确切属性: _ //List of group object. A group has a courseid, a name, a description and an enrolment key. list of ( object { courseid int

我在一个特定的Rest Web服务调用中遇到问题:

方法:
core\u group\u create\u group

正在引发以下错误:

在参数数组中检测到意外键(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+(构建:20160623)


你知道为什么它不喜欢请求中的
courseid
,即使它是一个有效的参数吗?

这里的Moodle文档也有问题。 在文档中标记为可选的参数实际上是必需的

例如: 在“core\u role\u assign\u roles”方法中,您必须传递“contextlevel”和“instanceid”,doc say是可选的

我只是使用了“核心小组创建小组”的方法,效果很好。这次文档通过了3个参数:courseid/name/description

用法如下:

"groups[0][courseid]=2&groups[0][name]=grupo2&groups[0][description]=desc grupo2"
可能会再次检查您在courseid a)中传递的代码是否存在;b) 这真的是一个课程id

希望有帮助,
rodrigo

您必须使用“groups”键调用Web服务,以使其正常工作(即,此代码在PHP中适用于我):

`$this->callWSFunction(
'core_group_create_groups',[
            groups =>[ 
                0 => 
                    [
                        'courseid' => $id,
                        'name' => $groupname,
                        'description' => $groupdescription
                     ]
                 ]
            ]
         );`