【发布时间】:2020-04-23 20:05:21
【问题描述】:
我的前任有从 gsuite 中删除用户的习惯。这导致 18 门课程我无法弄清楚如何从 ACTIVE 更改为 ARCHIVED。
GET https://classroom.googleapis.com/v1/courses/#######?key=[YOUR_API_KEY]HTTP/1.1
{
"id": "#######",
"name": "Course Name",
"ownerId": "#####################",
"creationTime": "2014-01-01T00:00:00.000Z",
"updateTime": "2015-01-01T00:00:00.000Z",
"enrollmentCode": "xx#xxx#",
"courseState": "ACTIVE",
"alternateLink": "https://classroom.google.com/c/XXX#XXXxXxxx",
"teacherGroupEmail": "Course_Name_teachers_#xXxXx@domain.com",
"courseGroupEmail": "Course_Name--#xXxXx@comain.com",
"teacherFolder": {
"id": "#X#Xx#xxX#xXXxXXXX#xXxXXxxXx"
},
"guardiansEnabled": false
}
尝试将课程修补为 ARCHIVED:
curl --request PATCH \
'https://classroom.googleapis.com/v1/courses/#######?updateMask=courseState&key=[YOUR_API_KEY]' \
--header 'Authorization: Bearer [YOUR_ACCESS_TOKEN]' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data '{"courseState":"ARCHIVED"}' \
--compressed
返回错误 500:
{
"error": {
"code": 500,
"message": "Internal error encountered.",
"status": "INTERNAL"
}
}
【问题讨论】:
-
您是域管理员吗?我认为您的请求没有任何问题,这可能只是暂时的。
-
我用来调用 API 的帐户是超级管理员。该呼叫在该课程的教师帐户仍然存在的课程上运行良好。仅在创建教室的用户帐户被删除的 18 门课程上出现 500 代码失败。
-
我明白了,您能列出您的超级管理员帐户中的所有课程吗?你也看到孤儿吗?
-
是的。孤立的类被列为活动类,我无法弄清楚如何将它们设置为存档而不收到 500 错误。我尝试将所有权转移到新的用户 ID,但 API 返回所有权只能转移给合作教师的错误。我也无法为这些课程添加老师。这些课程基本上是僵尸。
-
这里是一篇文章的链接,描述了我的确切情况:amplifiedit.com/orphaned-google-classroom-classes 我联系了作者以获取有关如何使用 GAM 或 API Explorer 的更多详细信息,但没有得到回复。
标签: google-classroom