I'm trying to use Apps Script to change the owner of a Google Classroom course.
According to the documentation I can do it using .patch()
. This is the relevant script:
var body = {
ownerId: owner
}
var mask={
mask:'ownerId'
}
var optArgs = (mask, body);
var course = {
name: classname,
courseState: state,
description: desc,
descriptionHeading: descHead,
room: room,
section: section
};
Classroom.Courses.patch(course, courseId, optArgs )
When I run it to update the owner I get the following error message
Could not be updated Invalid JSON payload received. Unknown name "ownerId": Cannot bind query parameter. Field 'ownerId' could not be found in request message.
Just to demonstrate a contrast, when I run .update()
instead:
Classroom.Courses.update(course, courseId)
...the rest of the course details are updated perfectly, however .update()
doesn't allow you to change the owner; it has to be a .patch()
to do that.