在Google课堂API中发布包含学生副本的课程作业时出现内部错误可能的错误?

当我使用Classroom API发布带有学生副本的作业时。我得到API call to classroom.courses.courseWork failed with error: Internal error encountered

当我成功发布草稿,然后尝试使用API​​发布任务,或者尝试直接发布新任务时,会发生这种情况。

将作业更改为“仅查看”可以解决两种情况下的发布问题,但是您将无法获得学生副本,并且在发布和几乎总是需要学生副本之后便无法将其更改回。

草稿发布后,我可以在Google教室中手动发布,没有任何问题。我认为这与您发布作业后无法制作学生副本的原因有关。

我已在发布前进行了调查,并且学生文件夹ID可用,但尚未创建。

var assignment =  {
  title: "Test File",materials: [
    {
      driveFile:{
        driveFile: {
          id: "11klBA-80IQPaJHrpSyJHqVsK7BUWWAtoLFdwG0uJGfo",title: "Sample Document"
        },shareMode: "STUDENT_COPY"
        }
    }
  ],state: "PUBLISH",workType: "ASSIGnmENT"
};

var id = Classroom.Courses.CourseWork.create(assignment,24551294261)
Logger.log(id);

Classroom.Courses.CourseWork.patch( {"state": "PUBLISHED"},24551294261,46981225150,{updateMask:'state'});

API call to classroom.courses.courseWork.patch failed with error随任一程序代码一起返回。如果将Student_COPY更改为view,则该代码可以正常工作。我相信这是一个错误,API没有某些手动单击publish的发布协议。所以失败了。我的猜测是创建用于存储文档的google文件夹。

我教8门课,手动发布每个作业要花很长时间,如果我出错了,学生可能会错过作业。

希望获得解决方法或错误修复。我正在使用API​​进行发布,以部分节省时间评分,部分保留所有8个类相同。我可以更新截止日期或说明,而不会无意中使任何人离开。我需要API来发布分配,以便它可以访问分配以进行更改。

azhenzhen 回答:在Google课堂API中发布包含学生副本的课程作业时出现内部错误可能的错误?

我找到了解决方法。您无法使用API​​发布带有学生副本的作业。 您可以在以后的5分钟内使用ScheduledTime :,系统将为您发布它。

除了修补状态以发布现有作业外,您还可以修补调度它以在5分钟内将其打开。我有点痛苦,但发布8堂课的3份作业却花了我半个小时。等待5分钟并不是一件坏事。我尚未测试您可以设定多近的时间。我用5分钟来考虑任何延迟。

顺便说一句,补丁仅适用于标题,描述,状态,dueDate,dueTime,maxPoints,cheduledTime,submissionModificationMode,topicId。材料不在清单上。您不能更改链接或与作业关联的文档。

,

由于我的信誉积分不足,Travis是对的。

UTC祖鲁语时间遵循以下格式: “ scheduledTime”:“ 2020-06-08T01:34:55Z”,

要打印时间戳,请使用以下代码...请确保在您的Classroom函数中调用以下函数。

function schedulePost(){
var now = new Date();
var extra = now.getMinutes()+5;//change the numeric time for the spread
console.log(Utilities.formatDate(now,'Etc/GMT','yyyy-MM-dd\'T\'HH:'+extra+':ss.SSS\'Z\''));
};
,

如果我打算将其安排在将来,那么我将包括在资源中:

resource = {
    ...
    state: "DRAFT";
    ...
    };

要立即发布,只需将状态设置为已发布:

resource = {
    ...
    state: "PUBLISHED";
    ...
};

,作业将立即消失。然后,两种方式:

var creq = gapi.client.classroom.courses.courseWork.create({courseId: 
    smeCourseId,resource: resource});
creq.execute(function(courseWork) {
    if (courseWork.error) {
        window.alert(courseWork.error.message);
    }
);
本文链接:https://www.f2er.com/3161214.html

大家都在问