谷歌课堂API:通过网站创建的成绩分配

2024-06-02 05:28:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我已经在谷歌课堂网站上创建了一个作业,我想使用谷歌课堂API对其进行评分。根据文件,这可以通过以下方式实现

studentSubmission = {
  'assignedGrade': 99,
  'draftGrade': 80
}
service.courses().courseWork().studentSubmissions().patch(
    courseId=<course ID or alias>,
    courseWorkId=<courseWork ID>,
    id=<studentSubmission ID>,
    updateMask='assignedGrade,draftGrade',
    body=studentSubmission).execute()

问题是我运行时遇到权限错误“@ProjectPermissionDenied开发者控制台项目不允许发出此请求”。据我所知,发生此错误是因为网站使用的开发者控制台项目与我使用的makeAPI请求不同

我正在使用同一个谷歌帐户来验证API,并在谷歌教室中创建课程作业。我还确认我拥有所有必需的作用域,并使用“Try this API”方法在浏览器中测试了API,收到了相同的权限错误

由于通过网站创建作业对于我的用例来说是必要的,我想知道是否有一种方法可以绕过权限错误,从而可以通过API对在网站上创建的作业进行评分


1条回答
网友
1楼 · 发布于 2024-06-02 05:28:39

根据来自一个相关职位的这篇文章existing answer

修改作业/课程作业或学生提交时,只有创建这些对象的开发人员控制台项目才能修改它们。这意味着只有创建了相应课程作业的项目才能修改它们,否则将返回403 PERMISSION_DENIED错误。通过检查Google课堂课程工作响应上的associatedWithDeveloper属性,可以轻松确定课程工作项是否与发出请求的开发人员控制台项目相关联

相关问题 更多 >