我无法尝试将外部工具的成绩发送到Google课堂。我可以发送成绩(assignedGrade和draftGrade),我可以更改它们。我看到我在退回的学生提交中的变化,以及学生提交历史记录,但我永远不能说服课堂作业已被“评分”或“完成”。看着学生作为老师的工作我看到了以下内容:
我所有存储成绩的尝试都在那里,但它们仍然是“未分级”。这是我用来设置成绩的代码:
$sub = new Google_Service_Classroom_StudentSubmission();
$sub->setAssignedGrade(48);
$sub->setDraftGrade(48);
$sub->setState('TURNED_IN'); // Worked with no apparent effect
$opt = array('updateMask' => 'assignedGrade,draftGrade');
$retval = $studentSubmissions->patch($gc_course, $gc_coursework, $submit_id, $sub, $opt);
这主要是有效的 - 新成绩出现了,我的教师历史记录中出现了一个新条目,但它从未评分。 :(
当我转出retval时,上面我看到等级,状态永远不会改变(下面的某些字段):
object(Google_Service_Classroom_StudentSubmission)#90 (27) {
["assignedGrade"]=>
int(48)
["assignmentSubmissionType":protected]=>
string(45) "Google_Service_Classroom_AssignmentSubmission"
["assignmentSubmissionDataType":protected]=>
string(0) ""
["associatedWithDeveloper"]=>
bool(true)
["courseId"]=>
string(10) "9...9"
["courseWorkId"]=>
string(10) "8...2"
["courseWorkType"]=>
string(10) "ASSIGNMENT"
["creationTime"]=>
string(24) "2017-11-29T20:07:51.332Z"
["draftGrade"]=>
int(48)
["id"]=>
string(19) "CgwIy.....uh4"
["late"]=>
NULL
["state"]=>
string(7) "CREATED"
我很有希望我错过了一件小事。我用转入的概念玩了一点:
$turnin = new Google_Service_Classroom_TurnInStudentSubmissionRequest();
$retval = $studentSubmissions->turnIn($gc_course, $gc_coursework, $submit_id, $turnin);
但这似乎没多大帮助。请帮助:)
答案 0 :(得分:1)
通过将我的问题与此相关问题Classroom API Submitted Grades and Return State Not Showing In Classroom UI
进行比较,我发现了我的特殊问题我的错误是因为我在创建CourseWork项目时没有设置maxPoints(在我修补成绩之前的方式):
$cw = new Google_Service_Classroom_CourseWork();
$cw->setTitle($lti->title);
$cw->setMaterials($materials);
$cw->setMaxpoints(100); // This was missing
$cw->setWorkType("ASSIGNMENT");
$cw->setState("PUBLISHED");
一旦我设置了maxPoints - 成绩正在流动并开始在Instructor UI中很好地出现。