Google Classroom API modifyAttachments

问题描述 投票:0回答:3

在Google Classroom API中执行courses.courseWork.studentSubmissions.modifyAttachments方法时,当我尝试将附件添加到学生的提交时,会返回403错误。

GoogleJsonResponseException:  
{
  "code" : 403,
  "errors" : [ {
    "domain" : "global",
    "message" : "@ProjectPermissionDenied The Developer Console project is not permitted to make this request.",
    "reason" : "forbidden"
  } ],
  "message" : "@ProjectPermissionDenied The Developer Console project is not permitted to make this request.",
  "status" : "PERMISSION_DENIED"
}

呼叫由经过身份验证的学生帐户进行,并作为链接资源添加。 Developer Console项目已启用Google Classroom API,其他对Google Classroom API的调用工作正常,例如courses.listcourses.courseWork.studentSubmissions.get。我错过了什么?在Google Classroom文档站点中使用Try it!应用程序时会返回相同的错误。

google-api google-classroom
3个回答
3
投票

修改assignments / courseWork或student提交时,只有创建这些对象的Developer控制台项目才能修改它们。这意味着只有创建相应课程的项目才能修改它们,否则会返回403 PERMISSION_DENIED错误。通过检查Google Classroom课程工作响应中的associatedWithDeveloper属性,您可以轻松确定课程工作项是否与发出请求的Developer Console项目相关联。


2
投票

我花了一段时间来自己解决这个问题,但在我看来,最好的方法是首先使用Google Script或使用Classroom API创建课程作业(即作业或问题)。然后课程与正确的控制台项目相关联,您就可以从中管理提交的内容。


0
投票

如果最终用户不满足访问的先决条件,则所有Classroom API方法都可能返回PERMISSION_DENIED (HTTP 403)错误。错误附带的消息包含一条错误消息,可帮助您确定原因并指示用户采取适当的操作。

ProjectPermissionDenied指示请求尝试修改与其他Developer Console项目关联的资源。

可能的操作:指示您的应用程序无法提出所需的请求。它只能由创建资源的OAuth client ID的Developer Console项目创建。

© www.soinside.com 2019 - 2024. All rights reserved.