Google Cloud 项目配置

本页面包含您需要了解的有关为 Google 课堂插件创建和配置 Google Cloud 项目的信息。Google Cloud 项目用于通过 OAuth 2.0 (Google SSO) 实现 Google 单点登录,为您的插件发出的请求授权,以及管理 Google Workspace Marketplace 商店中的插件详情。

如需了解有关将插件发布到 Marketplace 的更多常规信息,请参阅发布应用

创建 Google Cloud 项目

有两种类型的项目可供创建:用于开发的专用项目和可供最终用户访问的公共项目。“公开”和“私有”标签是指您的应用在 Google Workspace Marketplace 中的可见性;专用 Marketplace 应用只能由创建该应用时所在网域中的用户安装,而 Marketplace 中的公开应用可供任何 Google Workspace 网域使用。它们必须是两个独立的应用,因为一个项目不能既是公开应用,又是私有应用。公开应用必须先经过审核并获得批准,然后才能在 Marketplace 上架。

如需了解关于 Google Cloud 项目的一般创建信息,请访问创建 Google Cloud 项目

创建专用 Google Cloud 项目

该专用项目代表用于开发的插件应用。创建该 SDK 的网域外的用户无法访问该 SDK,但无需在安装前获得批准。因此,Google 建议您使用此项目在受控环境中开发和测试您的插件。

您需要有权访问拥有教与学或 Plus 版许可的 Google Workspace 教育版网域,才能创建不公开项目。如果您还没有此类网域的访问权限,请按照以下步骤设置 Google Workspace 教育版演示网域,将其升级为 Plus 许可,并允许其访问 Classroom 插件 API:

  1. 完成获取开发者测试网域的步骤。
  2. 以管理员身份在演示网域中登录,创建一个新的 Google Cloud 项目。

    创建 Google Cloud 项目

    如果您无法访问 Google Cloud 控制台或创建 Cloud 项目,请在 管理控制台中检查以下内容:

    • 访问帐号设置 > 基于年龄的访问权限设置页面,然后选择此群组或组织部门中的所有用户均已年满 18 周岁选项。
    • 应用 > 其他 Google 服务下:
    • 对所有人启用 Google Cloud Platform。
    • 项目创建设置已设为允许用户创建项目
    • Cloud Shell 访问权限设置为允许访问 Cloud Shell
  3. 填写并提交演示网域升级请求表单。提交此表单可请求 Google 将您的演示网域升级到 Google Workspace 教育 Plus 版(拥有 10 个许可),并允许您的 Cloud 项目使用 Classroom 插件 API。

    升级和许可名单流程完成后,您会收到一封电子邮件。在 管理控制台中为您的测试教师帐号分配 Plus 版许可。在目录 > 用户下,创建或选择测试教师帐号。在每位教师的许可中,确认 Google Workspace 教育 Plus 版已已分配

  4. 在您的 Cloud 项目中启用 Classroom API。

    启用 Classroom API

  5. 在您的 Cloud 项目中启用 Google Workspace Marketplace SDK。

    启用 Google Workspace Marketplace SDK

  6. 将 Marketplace SDK 应用配置 App Visibility(应用可见性)设置为 private

  7. 填写 Marketplace SDK 商品详情页面中的必填字段,然后点击发布。应用详情发布后,网域中的用户可以在 Google Workspace Marketplace 中找到并安装应用,也可以通过访问“商品详情”页面中显示的应用网址找到并安装该应用。

创建公共 Google Cloud 项目

此项目代表可供管理员、教师和学生访问的插件应用。公共项目必须先经过 Google Workspace Marketplace 团队的审核和批准,然后才能启动或安装。

  1. 在生产网域中创建一个新的 Google Cloud 项目。

    创建 Google Cloud 项目

  2. 在您的 Cloud 项目中启用 Classroom API。

    启用 Classroom API

  3. 在您的 Cloud 项目中启用 Google Workspace Marketplace SDK。

    启用 Google Workspace Marketplace SDK

  4. 将 Marketplace SDK 应用配置 应用公开范围设置为公开,然后选中不公开复选框。

  5. 填写 Marketplace SDK 商品详情页面中的必填字段,然后点击发布

  6. Google Workspace Marketplace 团队将审核您的应用。他们将使用 Marketplace SDK 中指定的开发者电子邮件地址与您联系。应用获得批准后,请清除不公开列出框,以便教师和管理员可以在 Marketplace 中找到该应用。

OAuth 2.0

要访问 Classroom API,必须征得用户同意。如需获取这些信息,请为已登录的用户请求 Google 对 OAuth 范围的访问权限,并接收令牌(随后可用于对 Google 课堂进行 API 调用)。必须在 Google Workspace Marketplace 商品详情中配置范围,以便网域管理员可以在安装该插件后代表网域用户提供同意声明。

如需查看所有可用范围及其用途的详细列表,请参阅 Google API 的 OAuth 范围页面。如需了解常规 OAuth 配置信息,请参阅工作区文档中的配置 OAuth 页面

用户权限

您的 Web 应用应请求至少一个以下范围:

  • https://www.googleapis.com/auth/userinfo.email:它允许应用查看用户的电子邮件地址。
  • https://www.googleapis.com/auth/userinfo.profile:它允许应用查看个人信息(如肖像、名字和姓氏)以及用户公开提供的其他个人信息。

在用户对插件中的其中一个范围进行授权后,由 login_hint 查询参数标识它们。当 iframe 打开时,此参数会传递给您的任何 Web 应用的网址。如果用户尚未向其中某个范围授权,系统将不会发送 login_hint

login_hint 是一个标准的 OpenID Connect 参数,您可以在使用 Google 登录或请求 OAuth 令牌时选择将这些参数传递给 Google。它旨在为最终用户提供更顺畅的授权体验。

课堂插件范围

以下范围仅适用于 Google 课堂插件:

  • https://www.googleapis.com/auth/classroom.addons.teacher:它允许访问所有 API 方法。
  • https://www.googleapis.com/auth/classroom.addons.student,它允许启动验证和附件读取操作。

即使拥有表示用户凭据的有效 OAuth 访问令牌,API 调用也受到额外要求的制约:

  • 所有方法都要求用户是请求中的 courseId 所指定课程的教师或学生。
  • 用户必须是教师,才能创建、更新、删除和回传成绩。
  • 对特定 Google 课堂帖子的调用受以下检查控制。
    • 如果插件在帖子中已有至少一个附件,该插件可以针对以下情况发出请求:
      • iframe 启动验证
      • 读取、更新和删除附件操作
      • 根据该信息更新成绩
    • 首次打开附件发现 iframe 时,插件中可能还没有帖子附件。系统提供了一个 addOnToken 查询参数,该参数可用于针对以下各项发出请求:
      • 在帖子下创建附件(必须提供 addOnToken
      • 启动验证(如果提供了 addOnToken,则会进行验证;如果插件中没有现有的附件,则必需提供)

OAuth 验证

Google 课堂插件使用 Google API 访问 Google 用户的数据。

如需详细了解验证流程,请参阅 OAuth API 验证常见问题解答

Google Workspace Marketplace 产品详情

如需了解 Google Workspace Marketplace SDK 的常规配置信息,请访问启用和配置 Google Workspace Marketplace SDK 以及创建 Google Workspace Marketplace 商品详情

列表注意事项

您的公开 Google Cloud 项目的 Marketplace SDK 商品详情指定了面向最终用户的应用名称和说明。您可以在应用详情下以多种语言提供这些详情。

请在商品详情中遵守以下准则:

  • 应用详情下:

    • 避免在应用名称中使用标点符号。例如,使用“我的公司提供的我的插件”,而不要使用“我的公司:我的插件”或“我的公司提供的我的插件”。

    • 简短说明详细说明包含的文字不应完全相同。

    + 确保您已为定价字段选择一个值。此字段包括免费付费(可免费体验)付费(包含免费功能)付费价格选项。您无需在 Marketplace 产品详情中指定费用金额。

    • 确保您已为类别字段选择一个值。学术资源教师和管理工具可能是 Google 课堂插件的理想选择。

    • 如需了解详情,请参阅 Marketplace 的应用详情说明中列出的项目。

  • 图形资源下:

  • 支持链接下:

    • 确保您已提供指向应用的服务条款的链接。
  • 确保您符合 Google API 品牌推广指南,其中涵盖了允许使用的名称和说明。

  • 如果您在商品详情中提及任何 Google 产品,请按照商标列表中提供的格式使用其名称。请确保加入商标 (TM) 符号(如已指定);使用“Google 文档 TM”,而不是“Google 文档”。

与 Google 的许可和结算服务集成

如果您想让您的 Google Workspace Marketplace 应用与 Google 的许可和结算服务集成,请访问 Marketplace API

安装设置

除了管理员安装之外,插件还可以允许进行单独安装。本页重点介绍了这两种安装类型之间的一些差异,而不是升级任一安装类型。您可以在 Google Workspace Marketplace SDK 应用配置页面中选择是否允许单独安装。

管理员安装

通过管理员安装,管理员可以将插件添加到网域中的所有帐号或者特定访问权限群组或组织部门。只有网域管理员才能执行管理员安装。管理员可以选择代表网域中所有用户同意所有访问权限范围;如果管理员选择同意任何访问权限范围,系统不会提示用户同意。

以下是有关管理员安装的一些注意事项。

  • 更严格的控制。管理员可以限制哪些用户可以访问插件。
  • 与许可的兼容性。如果您的应用需要许可,通过管理员引导安装可能有助于确保许可得到相应机构的妥善分发和使用。
  • 减轻最终用户的负担。管理员安装可减少教师和学生的设置负载。这可能会带来更顺畅的用户体验,减少点击次数,减少混淆。

如需详细了解如何执行管理员安装,请参阅在您的网域中安装 Marketplace 应用;如需详细了解组织部门和访问权限群组,请参阅组织结构的工作原理

单独安装

单独安装会将插件添加到用户自己的帐号中。在安装期间,系统会提示用户同意插件的访问权限范围。

以下是有关单个安装的一些注意事项。

  • 促进采用。更多用户可以从 Google Workspace Marketplace 查看和安装您的插件。允许单独安装可能会促使更多教师采用或推荐您的产品。
  • 管理员测试。管理员可能会单独安装某个插件以对其进行测试或评估,然后再为更广泛的群组批准或安装该插件。

除了代表用户安装插件之外,管理员还可以维护许可名单,允许用户安装允许单独安装的插件。如果插件不在许可名单中,用户仍然可以在 Google Workspace Marketplace 中看到该插件的列表,但无法安装该插件;但他们会看到一条消息,说明网域管理员尚未允许安装该插件。如需详细了解此行为,请参阅管理许可名单上的 Google Workspace Marketplace 中的应用

如需了解详情,请参阅 Google Workspace Marketplace 安装设置文档

应用集成

您必须在附件设置 URI 字段中提供启动 iframe 网址。此网址用作附件发现 iframe 的 iframe src 值。教师可以使用附件发现 iframe 查找要附加到其作业的内容或 activity。

您还必须指定您的插件允许连接哪些 URI 前缀。此功能可阻止来自未经授权的来源的附件,从而提高安全性。

如需详细了解这些字段,请参阅 iframe 指南页面

测试账号

在演示网域中创建测试帐号,以验证专用插件的行为是否正确。要在学生作业回顾 iframe 中测试学生之间的切换,需要使用两个学生帐号。

建议的测试账号:

  • Tammy 教师,tammy.Teacher@<您的演示网域>
  • Sam Student,sam.student@<您的演示网域>
  • Sally Student, sally.student@<您的演示网域>

请按照以下步骤创建新的测试帐号

  1. 登录管理控制台
  2. 前往用户
  3. 点击添加新用户(参见图 1)。
  4. 输入用户的信息并分配适当的角色。

点击“添加新用户” 图 1.管理控制台中添加新用户链接的位置。

请按照以下步骤创建新的测试组

  1. 登录管理控制台
  2. 前往群组
  3. 点击创建群组(参见图 2)。
  4. 输入群组的成员和所有者。

点击“创建群组” 图 2.管理控制台中创建群组链接的位置。