Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google api 代码:403消息:调用方没有权限_Google Api_Google Classroom - Fatal编程技术网

Google api 代码:403消息:调用方没有权限

Google api 代码:403消息:调用方没有权限,google-api,google-classroom,Google Api,Google Classroom,我正在使用Google教室API将我的业务系统集成到Google教室中。我可以使用服务帐户创建和列出课程。但始终使用OwnerId=“我”。我正在创建的所有课程都使用我的服务帐户的客户id。 如果我尝试使用其他ownerID创建,则会出现以下错误: 代码:403 消息:调用方没有权限 域名:全球 理由:禁止 状态:权限被拒绝 关于如何解决这个问题有什么建议吗 谢谢。在为课堂创建实例之前,您必须在创建凭据时使用电子邮件模拟用户 .setServiceAccountUser("UserEmail")

我正在使用Google教室API将我的业务系统集成到Google教室中。我可以使用服务帐户创建和列出课程。但始终使用OwnerId=“我”。我正在创建的所有课程都使用我的服务帐户的客户id。 如果我尝试使用其他ownerID创建,则会出现以下错误:

代码:403 消息:调用方没有权限 域名:全球 理由:禁止 状态:权限被拒绝

关于如何解决这个问题有什么建议吗


谢谢。

在为课堂创建实例之前,您必须在创建凭据时使用电子邮件模拟用户

.setServiceAccountUser("UserEmail")
样本代码附在下面

final NetHttpTransport httpTransport = GoogleNetHttpTransport.newTrustedTransport();
                GoogleCredential credential = new GoogleCredential.Builder()
                        .setTransport(httpTransport)
                        .setJsonFactory(JSON_FACTORY)
                        .setServiceAccountId("class-room-service-account-id")
                        .setServiceAccountPrivateKeyFromP12File(new File("/Credentials/MyProject.p12"))
                        .setServiceAccountScopes(SCOPES)
                        .setServiceAccountUser("UserEmail") //There should be the Email for the user you are creating course
                        .build();

                final NetHttpTransport HTTP_TRANSPORT = GoogleNetHttpTransport.newTrustedTransport();
                ClassRoom service = new Classroom.Builder(HTTP_TRANSPORT, JSON_FACTORY, credential)
                        .setApplicationName(APPLICATION_NAME)
                        .build();

在此之后,使用OwnerId“me”将为被模拟的用户创建课程。

您可以参考此。确保您尝试添加的帐户与课程位于同一域中。此外,如上所述,您需要再次检查您的当前活动帐户,并确保您的当前活动帐户具有该权限。或者,您需要转到您的谷歌云控制台为您当前的活动帐户分配权限,或者您需要切换您的帐户。谢谢。帐户与课程位于同一域中。我试图使用谷歌管理控制台设置权限。仍在获取错误代码:403消息:调用方没有权限域:全局原因:禁止状态:权限\u DENIEDI我收到的错误与我试图从课程中删除教师的错误相同