【问题标题】:How can I obtain courseWorkId so I can set score from my app?如何获取 courseWorkId 以便我可以从我的应用程序中设置分数?
【发布时间】:2023-04-05 15:14:02
【问题描述】:

我使用 JavaScript 将我网站的链接发布到用户的 Google 课堂。学生单击“课堂”中的链接,对我的网站进行身份验证,然后完成测试。考试会自动评分,分数会保存在我的网站上。我想使用 JavaScript 在 Google Classroom 中设置此任务的分数,以便它们同步。

我发现我需要获取 courseWorkId 才能执行此操作,但我还不知道如何操作。

如何在 JavaScript 中获取课程的 courseWorkId 以便我可以使用补丁设置其分数?

【问题讨论】:

  • 尝试从那里使用REST Resource: courses.courseWork.studentSubmissions,据说“创建CourseWork项目时会生成StudentSubmission项目”。
  • 太好了,谢谢!现在我一直在获取特定的 studentCourseWorkId,所以我可以更改它的分数。

标签: javascript google-classroom


【解决方案1】:

这就是我获得课程作业 ID 的方式:

gapi.client.classroom.courses.courseWork.list({
  "courseId": id, // include the course id here
  "courseWorkStates": ["PUBLISHED"],
  "pageSize": "10"
})
  .then((res)=>{

    let courseWork = res.result.courseWork;

    courseWork.forEach(()=>{
      if (courseWork && courseWork.length > 0) {
        courseWork.forEach((assignment) => {
          //print assignment ids
          console.log(assigment.id)
        });
      }
    })
  });

【讨论】:

  • 您是否尝试过参考developers.google.com/classroom/reference/rest/v1/… 下的“试用此 API”部分
  • 是的,它适用于“试用此 API”。我对 JSON 解析还不是很好,似乎无法完成这项工作以获取学生的提交 ID:
  • gapi.client.classroom.courses.courseWork.studentSubmissions.list({ courseId: gCourseId, courseWorkId: gCourseWorkId, userId:'stdEmail' }).then(function(response) { //var myObj = response.result.courseWork.studentSubmissions; //var x = myObj.id; //var y = myObj.draftGrade; //console.log(x); //console.log(y); console.log( } );
猜你喜欢
  • 2014-02-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-02
  • 1970-01-01
  • 1970-01-01
  • 2020-02-15
相关资源
最近更新 更多