【问题标题】:a google verified app script, got 403 error: "The caller does not have permission"谷歌验证的应用脚本,得到 403 错误:“调用者没有权限”
【发布时间】:2021-10-22 09:21:17
【问题描述】:

我有一个经过 Google 验证的已发布应用脚本,部署为网络应用。它在谷歌课堂中生成一个表格作为课堂作业。从我自己的谷歌课堂帐户访问该应用程序时,它运行正常。但是,当从其他谷歌课堂帐户访问该应用程序时,我收到错误:

“code”:403,“message”:“调用者没有权限”,“status”:“PERMISSION_DENIED”。

下面是脚本的appscript.json:

{
  "timeZone": "America/New_York",
  "exceptionLogging": "STACKDRIVER",
  "runtimeVersion": "V8",
  "dependencies": {
    "enabledAdvancedServices": [
      {
        "userSymbol": "Classroom",
        "version": "v1",
        "serviceId": "classroom"
      }
    ]
  },
  "webapp": {
    "executeAs": "USER_ACCESSING",
    "access": "ANYONE"
  },
  "executionApi": {
    "access": "ANYONE"
  },
  "oauthScopes": [
    "https://www.googleapis.com/auth/script.external_request",
    "https://www.googleapis.com/auth/forms",
    "https://www.googleapis.com/auth/classroom.rosters.readonly"
  ]
}

Oauth 同意屏幕显示:

验证状态
已验证

您的同意屏幕已经过验证。如果你做出改变 稍后需要验证,您必须重新提交申请 审查。了解更多

发布状态

生产中

用户类型

外部

你有类似的经历吗?可能是什么问题,以及如何解决这个问题?

【问题讨论】:

    标签: google-apps-script google-cloud-platform web-applications


    【解决方案1】:

    我发现问题:从测试模式切换到直播模式时,我错过了删除devMod设置。另外,必须将scriptId更改为部署的id(版本控制)才能找到脚本。

    【讨论】:

      【解决方案2】:

      其他“谷歌课堂”用户很可能因为不是域管理员而收到错误消息。

      来自https://developers.google.com/classroom/guides/get-started

      谁可以使用 API? G Suite 教育版域管理员可以使用 API 以编程方式代表教师提供课程,将学生信息系统与 Classroom 同步,并基本了解其域中正在教授的课程。

      【讨论】:

      • 嗨,鲁本,感谢您的关注和回复。我想我找到了问题所在。从测试模式切换到实时模式时,我错过了删除 devMod。但是,现在我有另一个问题:“code”:404,“message”:“找不到请求的实体。”,“status”:“NOT_FOUND”
      猜你喜欢
      • 1970-01-01
      • 2021-04-06
      • 1970-01-01
      • 2019-08-08
      • 2019-08-06
      • 2020-02-26
      • 1970-01-01
      • 2022-08-03
      • 1970-01-01
      相关资源
      最近更新 更多