学习工具互操作性 (LTI) 是一个开放式框架,用于在学习管理系统中构建 第三方集成。虽然 Google 课堂插件和 LTI 工具支持类似 的用户历程,但这两个框架并不直接兼容。本指南对这两种集成类型进行了比较,并重点介绍了它们之间的主要区别。此外,本指南还介绍了在调整 LTI 工具以使其作为 Google 课堂插件运行时,如何实现类似的用户历程。
平台与工具之间的互动
LTI 工具与 Google 课堂插件之间的主要区别在于信息交换的方式。LTI 工具通常使用 HTTP POST 将载荷传输到 LTI 平台,而 Google 课堂插件则使用 Google 课堂 REST API 创建和检索资源。
下表总结了如何使用 Google 课堂实现 LTI 工具的主要行为。
| 功能 | LTI | Google 课堂 |
|---|---|---|
| 创建作业 | 作业与成绩服务 | 创建 CourseWork 和 AddOnAttachment 资源 |
| 发布成绩 | 作业与成绩服务 | 修补 CourseWork 和 AddOnAttachment 学生提交的作业 |
| 启动路由 | 深层链接 | 在 AddOnAttachment 资源中指定 URI |
| 读取课程花名册 | 名称与角色配置服务 | 检索课程中的 Student 和 Teacher 个人资料 |
将 LTI 工具调整为 Google 课堂插件
许多 LTI 互动在 Google 课堂插件框架中都有类似之处。以下部分讨论了一些关键概念和建议的操作方案。
配置您的应用
与 Google 课堂的所有程序化互动都需要 Google Cloud 项目。您将在同一 Cloud 项目中配置应用列表,该项目定义了您的 Google 课堂插件将如何向最终用户显示。您将提供图标、设置应用名称和说明,并配置您的产品所需的 OAuth 范围权限。
从列表中安装插件应用通常是最终用户必须执行的唯一配置步骤。这类似于启用和部署 LTI 工具。最终用户无需完成任何 注册操作或管理任何配置详细信息,但 管理员可能需要在 Marketplace中允许该应用并配置第三方 数据访问权限。
建议:按照我们的指南为 Google 课堂插件创建和配置 Google Cloud 项目。最重要的是,在 Marketplace SDK 中将插件启动网址指定为附件发现 URI 。只要此 网址将用户路由到适当的 身份验证流程,它就可以与现有的 LTI 工具启动路由相同。
身份验证流程
LTI 使用 双向流程,其中客户端应用和身份验证 服务器交换签名的 JWT。用户无需授予工具对其数据的访问权限,因为当管理员配置工具时,系统会默认授予权限。
相比之下,Google 的 OAuth 流程是三向流程,涉及最终用户、 外部客户端应用和身份验证服务器。客户端会收到包含明确用户同意的令牌,这些令牌授予对用户 Google 课堂资源的访问权限。
插件应用可以使用服务账号 实现 类似的双向签名 JWT 行为。这些账号属于应用,而不属于个别用户,并且无需用户同意即可执行操作。使用服务账号需要管理员进行配置和管理。强烈建议不要使用服务账号进行全网域授权,因为它们可能会被滥用。如需了解详情,请参阅我们的 Google 课堂集成全网域授权指南。
建议:当与您的工具或 插件关联的网址收到传入请求时,请检查 请求中是否存在 Google 课堂插件查询参数。 如果存在,请使用 Google Identity SDK 获取用户的访问凭据。将凭据存储在用户的会话中,并使用它们发出后续 Google 课堂 API 请求。如果不存在查询参数,请使用 HTTP 请求与平台的 LTI 端点进行互动。
在 Google 课堂中创建插件内容
Google 课堂插件支持一种类型的内容:指向外部托管页面的网址链接。这些链接包含在 AddOnAttachment 资源中,
这些资源定义了当用户与您的
插件互动时要打开的 Web 路由。每个网址都会在特定场景中打开,如需了解完整详情,请参阅我们的
iframe 指南。这些网址类似于 LTI 资源
链接。
Google 课堂插件不支持其他内容类型,例如文件、图片或 HTML 片段。
建议:当用户在您的产品中选择内容时,获取其
OAuth 凭据并发出 AddOnAttachments.create 请求。该请求应包含一个 AddOnAttachment 对象,其中包含学生视图、教师视图和(可选)评分视图的网址。请注意,在
创建公告、作业或
课程资料的附件时,需要使用单独的 API 端点。只有在作业中创建的附件才能具有评分视图,因为这是唯一接受学生提交作业的 Google 课堂流项类型。
框架功能比较
集成位置
Google 课堂插件会在公告、作业和课程资料中创建附件 。这些项会显示在 Google 课堂界面中课程的“动态”标签页中。
教师在作业创建流程中选择选择器中的插件,即可开始创建插件附件。如需详细了解向用户显示的每个视图,请参阅 iframe 指南,其中详细 讨论了每个视图。
或者,开发者也可以通过编程方式创建包含插件附件的作业。如需了解详情,请参阅我们的在 Google 课堂外部创建附件指南。
启动上下文信息
打开插件路由时,Google 课堂会将多个 查询参数 附加到每个网址。这些参数始终包含课程和流项的流项类型和标识符。根据 iframe 视图的不同,可能还会显示其他信息,例如附件或提交内容作业的标识符、用于授权创建附件的令牌,或用于从链接升级到插件附件的网址。
默认情况下,Google 课堂不会传递有关用户或机构的任何信息。您可以从 Google 课堂 API UserProfile 资源获取有关用户的信息,包括用户 ID。如果用户是网域管理员,您可以从 Workspace Admin SDK 获取有关机构的信息。
身份验证和授权
Google 课堂插件必须使用 使用 Google 账号登录 进行用户 身份验证。登录后,用户通过 OAuth 2.0 范围向您的应用授予权限 。您的应用可以使用任何 可用 OAuth 范围的任意组合。
应用发现和配置
用户可以通过 Google Workspace Marketplace 查找和“安装”Google 课堂插件。通过一键安装,插件应用即可供个别教师使用。 或者,管理员也可以为组织部门或网域中的所有教师安装插件应用。然后,课程中的所有学生都可以访问使用该应用创建的附件。最终用户无需管理各个 Google 课堂插件的令牌、密钥或标识符。
用户体验和产品流程
在许多情况下,LTI 工具的现有产品流程可以很好地作为 Google 课堂插件运行。与 LTI 工具类似,Google 课堂插件基本上可让您在我们的平台上创建和管理指向您内容的链接。Google 课堂插件附件类似于 LTI 深层链接。如果您的 LTI 工具创建的网址指向您托管的内容,则它应该可以很好地作为 Google 课堂插件运行。
给学生的作业评分
可以在 Google 课堂评分工具视图中查看 Google 课堂插件附件并给其评分。在附加需要学生提交作业的内容时,您需要提供 student_work_review_uri,教师可以在其中查看特定学生的作业并给其评分。这与 LTI 不同,在 LTI 中,工具仅定义教师和学生共有的 target_link_uri。Google 课堂插件实现与即将推出的 LTI 提交作业审核服务最为相似。