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 项目

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

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

    创建 Google Cloud 项目

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

    启用 Google 课堂 API

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

    启用 Google Workspace Marketplace SDK

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

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

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

创建专用 Google Cloud 项目

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

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

    启用 Google 课堂 API

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

    启用 Google Workspace Marketplace SDK

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

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

OAuth 2.0

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

由于 Google 课堂权限范围属于敏感权限,因此您必须先申请 OAuth 验证,然后才能发布您的插件。否则,用户会看到一条警告消息,告知应用未经验证,并且只有少数用户能够访问您的产品。如需详细了解验证流程,请参阅审核流程概览。

如需查看所有可用范围及其用法的详细列表,请参阅 Google API 适用的 OAuth 范围页面。如需了解常规 OAuth 配置信息,请参阅 Workspace 文档中的“配置 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 商店商品详情用于指定面向最终用户的应用名称和说明。您可以在应用详情下以多种语言提供这些详细信息。

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

  • 应用详情下:

    • 请勿在应用名称中使用标点符号。例如,请使用“My Company 出品的 My Add-on”,而不是“My Company:My Add-on”或“My Company 出品的 My Add-on”。

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

    + 确保您已为 Pricing(价格)字段选择一个值。此字段包含免费需要付费但可以免费试用需要付费但包含免费功能付费价格选项。您无需在购物平台商品详情中指定费用金额。

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

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

  • 图形资源下:

  • 支持链接下:

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

  • 如果您在商品详情中提及任何 Google 产品,请使用商标列表中提供的格式来使用其名称。请务必添加商标符号 (™)(如果有);使用“Google 文档™”,而不是“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 Teacher,tammy.teacher@<您的演示版网域>
  • Sam Student,sam.student@<您的演示网域>
  • Sally Student, sally.student@<您的演示网域>

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

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

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

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

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

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