在插件抢先体验中预览方法

抢先体验计划或非公开预览版计划中的 API 方法是私有的,这意味着 它们是标准客户端库中未提供的, 默认可通过 HTTP 访问本页将介绍如何访问这些 预览方法。

本文档介绍了使用预览版 API 的四个选项:

  1. Google 提供的静态客户端库。
  2. 动态生成的客户端库。
  3. 直接 HTTP 请求。
  4. 您自己的自定义客户端库。

使用 Google 提供的静态或动态生成的库 使用此 API 的推荐方法

静态库

Java、Node.js、PHP 和 C# 等语言的客户端库必须基于 来源。您可以在客户端库下载部分中找到这些库 并已拥有预览方法。

您可能需要修改典型的依赖项配置才能使用这些 标准客户端库,而不是导入标准客户端库,因为后者 具有预览方法。

例如,如果您使用的是 Node.js 和 npm,请添加 Node.js 客户端库 下载 (googleapis-classroom-1.0.4.tgz) 作为本地依赖项 package.json

{
  "name": "nodejs-classroom-example",
  "version": "1.0.0",
  ...
  "dependencies": {
    "@google-cloud/local-auth": "^2.1.0",
    "googleapis": "^95.0.0",
    "classroom-with-addons": "file:./googleapis-classroom-1.0.4.tgz"
  }
}

然后,在您的应用中,除了需要 classroom-with-addons 模块之外, 附加到常规依赖项,并通过它实例化 classroom 服务 模块:

const {authenticate} = require('@google-cloud/local-auth');
const {google} = require('googleapis');
const classroomWithAddons = require('classroom-with-addons');

...

const classroom = classroomWithAddons.classroom({
  version: 'v1',
  auth: auth,
});

...

动态库

以 Python 等语言编写的库在运行时使用 发现服务中的发现文档

发现文档是一种机器可读的规范,用于描述和 使用 REST API。它用于构建客户端库、IDE 插件以及 与 Google API 交互的其他工具。一项服务可能会提供多项 发现文档。

Classroom API 服务的发现文档 (classroom.googleapis.com) 可在以下端点找到:

  • https://classroom.googleapis.com/$discovery/rest?labels=<PREVIEW_LABEL>&version=v1&key=<PREVIEW_LABEL>

要生成 Python 库并实例化 Google 课堂服务,请使用 插件方法时,您可以指定相应的服务发现网址, 凭据和标签:

classroom_service_with_rubrics = googleapiclient.discovery.build(
  serviceName="classroom",
  version="v1",
  credentials=credentials,
  static_discovery=False,
  discoveryServiceUrl=f"https://classroom.googleapis.com/$discovery/rest?labels=ADD_ONS_ALPHA&key=ABCXYZ")

请参阅各个 Google API 客户端库文档,详细了解各个客户端库 语言。使用预览版 API 的重要区别在于指定 相应的 label。在此预览中,标签为 ADD_ONS_ALPHA

HTTP 请求

如果您在没有客户端库的情况下发出 HTTP 请求,请务必添加标签 (ADD_ONS_ALPHA) 作为 X-Goog-Visibilities 标头指定。

例如,要查看帖子下由插件创建的所有附件,请使用 发送以下 curl 请求:

curl \
  'https://classroom.googleapis.com/v1/courses/[courseId]/courseWork/[itemId]/addOnAttachments?key=[YOUR_API_KEY]' \
  --header 'X-Goog-Visibilities: ADD_ONS_ALPHA' \
  --header 'Authorization: Bearer [YOUR_ACCESS_TOKEN]' \
  --header 'Accept: application/json' \
  --compressed

REST 文档中介绍了每个 HTTP 请求的 API。

自定义客户端库

如果您需要构建自己的库,请参阅构建客户端库。正在创建 您自己的库不在本指南的讨论范围内,但您应该查看 动态库部分,了解预览标签及其在 发现。