アドオンの早期アクセスでメソッドをプレビューする

早期アクセス プログラムまたは限定公開プレビュー プログラムの API メソッドは、非公開です。つまり、標準のクライアント ライブラリでは公開されず、HTTP 経由でデフォルトでアクセスできない可能性があります。このページでは、これらのプレビュー メソッドにアクセスする方法について説明します。

このドキュメントでは、Preview API を使用する 4 つのオプションについて説明します。

  1. Google 提供の静的クライアント ライブラリ。
  2. 動的に生成されるクライアント ライブラリ。
  3. 直接 HTTP リクエスト。
  4. 独自のカスタム クライアント ライブラリ。

API を使用するには、Google 提供の静的ライブラリまたは動的に生成されるライブラリを使用することをおすすめします。

静的ライブラリ

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 とやり取りするその他のツールのビルドに使用されます。1 つのサービスで複数のディスカバリ ドキュメントを提供できます。

Classroom API サービス(classroom.googleapis.com)用のディスカバリ ドキュメントは、次のエンドポイントにあります。

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

Python ライブラリを生成し、アドオン メソッドで Classroom サービスをインスタンス化するには、適切なサービス、認証情報、ラベルを含む検出 URL を指定します。

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 クライアント ライブラリのドキュメントをご覧ください。Preview API を使用する際の重要な違いは、適切な label を指定することです。このプレビューでは、ラベルは ADD_ONS_ALPHA です。

HTTP リクエスト

クライアント ライブラリを使用せずに HTTP リクエストを行う場合は、X-Goog-Visibilities ヘッダーとしてラベル(ADD_ONS_ALPHA)を含めてください。

たとえば、投稿の下にあるアドオンによって作成されたすべての添付ファイルを表示するには、次の curl リクエストを使用します。

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

各 HTTP リクエストの API は、REST ドキュメントで説明されています。

カスタム クライアント ライブラリ

独自のライブラリを作成する必要がある場合は、クライアント ライブラリの作成をご覧ください。独自のライブラリの作成はこのガイドの対象外ですが、動的ライブラリのセクションを確認して、Discovery でのプレビュー ラベルとその役割を確認してください。