我正在尝试使用 Google Apps 脚本创建作业,并将其放在也在同一脚本中创建的主题下。在未指定 topicId 的情况下创建作业没有问题,但一旦我尝试指定 topicId ,运行脚本时就会收到以下错误: 对classroom.courses.courseWork.create 的 API 调用失败并出现错误:收到无效的 JSON 有效负载。未知名称“测试主题”
这是我的代码:
function makeStuff() {
var topic = {
name: "Test Topic"
};
Classroom.Courses.Topics.create(topic, "46088716060");
var TWS1 = {
title: "Test Worksheet 1",
state: "DRAFT",
materials: [
{
driveFile:{
driveFile: {
id: "1REOs1RYtyVTX67VnJezjWf-wm7HqDVexeaeiQL3-HvM",
},
shareMode: "STUDENT_COPY"
}
}
],
workType: "ASSIGNMENT",
topicId: {
name: "Test Topic"
}
};
Classroom.Courses.CourseWork.create(TWS1, "46088716060")
}
是否可以通过名称引用topicId,或者将脚本中创建的topicId编号分配给可以引用的变量?
创建主题时,您只需要提供一个名称(主题名称不是它的id,只有API可以生成id)。然后,Classroom API 创建主题,并以对象形式返回该主题,并在其上定义了
topicId
属性,如下所示;
var courseId = "46088716060";
var topicName = "Test Topic";
var topic = Classroom.Courses.Topics.create({name:topicName}, courseId);
var topicId = topic.topicId;
然后您可以在创建课程作业时使用该
topicId
。
您能否提供一个示例,说明如何在已存在的主题下添加课程作业?我尝试了以下方法,但没有成功。我已经创建了一个主题并获取了 topicID
Classroom.Courses.CourseWork.create(assignment, topicID, courseId);