Google Cloud プロジェクトの構成

このページには、Classroom アドオン用の Google Cloud プロジェクトの作成と構成について知っておくべき情報が記載されています。Google Cloud プロジェクトは、OAuth 2.0(Google SSO)による Google シングル サインオンの実装、アドオンによるリクエストの承認、Google Workspace Marketplace ストアでのアドオンのリスティングの管理に使用されます。

Marketplace へのアドオンの公開に関する一般的な情報については、アプリを公開するをご覧ください。

Google Cloud プロジェクトの作成

作成するプロジェクトには、開発に使用するプライベート プロジェクトと、エンドユーザーが到達可能なパブリック プロジェクトの 2 種類があります。「公開」ラベルと「非公開」ラベルは、Google Workspace Marketplace でのアプリケーションの公開設定を表します。限定公開の Marketplace アプリケーションは、そのアプリケーションが作成されたドメイン内のユーザーのみがインストールでき、一般公開の Marketplace アプリケーションはすべての Google Workspace ドメインで利用できます。プロジェクトはパブリックとプライベートの両方にできないため、これらは 2 つの異なるアプリケーションにする必要があります。公開アプリケーションは、Marketplace で利用可能になる前に審査と承認を受ける必要があります。

Google Cloud プロジェクトの作成に関する一般的な情報については、Google Cloud プロジェクトを作成するをご覧ください。

限定公開の Google Cloud プロジェクトを作成する

この非公開プロジェクトは、開発に使用されるアドオン アプリケーションを表します。作成されたドメイン外のユーザーはアクセスできませんが、インストール前に承認する必要はありません。したがって、このプロジェクトを使用して、制御された環境でアドオンの開発とテストを行うことをおすすめします。

限定公開プロジェクトを作成するには、Teaching & Learning または Plus のライセンスを持つ Google Workspace for Education ドメインへのアクセス権が必要です。該当するドメインへのアクセス権がまだない場合は、次の手順に沿って Google Workspace for Education のデモドメインを設定し、Plus ライセンスにアップグレードして、Classroom アドオン API へのアクセスを許可してください。

  1. デベロッパーのテスト用ドメインを取得する手順を完了します。
  2. デモドメインの管理者としてログインし、新しい Google Cloud プロジェクトを作成します。

    Google Cloud プロジェクトを作成する

    Google Cloud コンソールにアクセスできない場合、または Cloud プロジェクトを作成できない場合は、 管理コンソールで次の点を確認してください。

    • [アカウント設定] > [年齢に基づくアクセス設定] ページにアクセスし、[このグループまたは組織部門のすべてのユーザーが 18 歳以上である] オプションを選択します。
    • [アプリ] > [その他の Google サービス] で、次の操作を行います。
      • Google Cloud Platform はすべてのユーザーに対して有効になっています。
      • プロジェクト作成の設定が [ユーザーにプロジェクトの作成を許可する] になっている。
      • Cloud Shell のアクセス設定が [Cloud Shell へのアクセスを許可] になっている。
  3. デモドメインのアップグレード リクエスト フォームに記入して送信します。このフォームを送信すると、デモドメインを 10 個のライセンスを持つ Google Workspace for Education Plus にアップグレードし、Cloud プロジェクトで Classroom アドオン API を使用することがリクエストされます。

    アップグレードと許可リストのプロセスが完了すると、メールが届きます。管理コンソールで、テスト用の教師アカウントに Plus ライセンスを割り当てます。[ディレクトリ] > [ユーザー] で、テスト用教師アカウントを作成または選択します。各教師の [Licenses] で、Google Workspace for Education Plus が [Assigned] になっていることを確認します。

  4. Cloud プロジェクトで Classroom API を有効にします。

    Classroom API を有効にする

  5. Cloud プロジェクトで Google Workspace Marketplace SDK を有効にします。

    Google Workspace Marketplace SDK を有効にする

  6. Marketplace SDK の [アプリの構成] で [アプリの公開設定] を [private] に設定します。

  7. Marketplace SDK の [ストアの掲載情報] ページの必須項目に入力し、[公開] をクリックします。アプリの掲載情報が公開されると、ドメイン内のユーザーは、Google Workspace Marketplace でアプリを見つけてインストールするか、ストアの掲載情報ページに表示されるアプリの URL にアクセスして、アプリをインストールできます。

一般公開の Google Cloud プロジェクトを作成する

このプロジェクトは、管理者、教師、生徒がアクセスできるアドオン アプリケーションを表します。

  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. Cloud プロジェクト ID または Cloud プロジェクト番号を Google パートナーと共有して、プロジェクトをアドオン許可リストに追加します。これにより、プロジェクトは Classroom API の新しいアドオン機能にアクセスできるようになります。

  6. Marketplace SDK の [ストアの掲載情報] ページの必須項目に入力し、[公開] をクリックします。

  7. お客様のアプリは、Google Workspace Marketplace チームが審査いたします。Marketplace SDK で指定されたデベロッパーのメールアドレスを使用して連絡します。アプリが承認されたら、[限定公開] チェックボックスをオフにします。これにより、教師と管理者が Marketplace でそのアプリを見つけられるようになります。

OAuth 2.0

Classroom API にアクセスするには、ユーザーデータへのアクセスに関する同意が必要です。これらを取得するには、ログイン ユーザーの OAuth スコープへの Google アクセスをリクエストし、その後 Google Classroom に対する API 呼び出しに使用できるトークンを受け取ります。アドオンをインストールする場合、ドメイン管理者がドメイン ユーザーに代わって同意できるように、Google Workspace Marketplace のストアの掲載情報でスコープを構成する必要があります。

使用可能なすべてのスコープとその用途の一覧については、Google API の OAuth スコープのページをご覧ください。OAuth の一般的な構成情報については、Workspace ドキュメントの OAuth の構成ページをご覧ください。

ユーザー権限

ウェブアプリでは、次のスコープのうち少なくとも 1 つをリクエストする必要があります。

  • https://www.googleapis.com/auth/userinfo.email: アプリケーションがユーザーのメールアドレスを表示できるようにします。
  • https://www.googleapis.com/auth/userinfo.profile: アプリは、ユーザーが公開した縦向き、氏名などの個人情報や、その他の個人情報を参照できます。

ユーザーがアドオンでこれらのスコープのいずれかを承認すると、login_hint クエリ パラメータで識別されます。このパラメータは、iframe を開いたときにウェブアプリの URL のいずれかに渡されます。ユーザーがこれらのスコープのいずれかを承認していない場合は、代わりに hd(「ホスト型ドメイン」)パラメータがウェブアプリの URL に渡されます。

login_hinthd は標準の OpenID Connect パラメータであり、Google ログインを使用する場合や OAuth トークンをリクエストするときに、必要に応じて Google に渡すことができます。これは、エンドユーザーにとって承認処理をスムーズにすることを目的としています。

Classroom アドオンのスコープ

以下のスコープは Classroom アドオンに固有のものです。

  • https://www.googleapis.com/auth/classroom.addons.teacher: すべての API メソッドへのアクセスを許可します。
  • https://www.googleapis.com/auth/classroom.addons.student。検証とアタッチメントの読み取りオペレーションを開始できます。

ユーザーの認証情報を示す有効な OAuth アクセス トークンがある場合でも、API 呼び出しには追加の要件が適用されます。

  • いずれの方法でも、ユーザーはリクエストの courseId で指定されたコースの教師または生徒である必要があります。
  • 添付ファイルの作成、更新、削除、成績の送信を行うには、教師である必要があります。
  • Google Classroom の特定の投稿に対する呼び出しは、次のチェックによって制限されます。
    • 投稿にすでに 1 つ以上の添付ファイルがあるアドオンは、次のリクエストを行うことができます。
      • iframe 起動検証
      • 添付ファイルの読み取り、更新、削除のオペレーション
      • その投稿の成績の更新
    • 添付ファイルの検出 iframe を最初に開いたとき、アドオンの投稿にまだ添付ファイルが含まれていない場合があります。次のリクエストを行うために使用できる addOnToken クエリ パラメータが用意されています。
      • 投稿の下に添付ファイルを作成します(addOnToken は必須です)
      • リリースの検証(addOnToken を指定した場合は検証されます。アドオンの投稿に既存の添付ファイルがない場合は必須)

OAuth の確認

Classroom アドオンは Google API を使用して Google ユーザーのデータにアクセスします。

検証プロセスの詳細については、OAuth API 検証に関するよくある質問をご覧ください。

Google Workspace Marketplace リスティング

この早期アクセス プログラムで Classroom アドオンの Marketplace ストアの掲載情報を作成する際には、いくつかの点に注意してください。

Google Workspace Marketplace SDK の一般的な構成情報については、Google Workspace Marketplace SDK を有効にして構成するGoogle Workspace Marketplace のストアの掲載情報を作成するをご覧ください。

リスティングに関する考慮事項

一般公開の Google Cloud プロジェクトの Marketplace SDK ストアの掲載情報には、エンドユーザーに表示するアプリケーションの名前と説明を指定します。これらの詳細情報は、[App Details] で複数の言語で指定できます。

リスティングでは以下のガイドラインを遵守してください。

  • [アプリの詳細] で、以下の操作を行います。

    • アプリケーション名に句読点を使用しないでください。たとえば、「My Company: My Add-on」や「My Add-on, by My Company」ではなく、「My Add-on by My Company」を使用します。

    • [Short Description] と [Detailed Description] で、同じテキストを含めることはできません。

    • [Pricing] フィールドの値が選択されていることを確認します。このフィールドには、[無料]、[有料の無料試用]、[有料(無料機能あり)]、[有料] のオプションがあります。Marketplace リスティングで費用を指定する必要はありません。

    • [カテゴリ] フィールドの値が選択されていることを確認します。Classroom アドオンには、[学術リソース] または [教師と管理ツール] が適しています。

    • 詳細については、Marketplace のアプリの詳細の説明に記載されている項目をご覧ください。

  • [画像および映像] で、以下の操作を行います。

  • [サポートリンク] で、以下の操作を行います。

    • アプリケーションの利用規約へのリンクを指定していることを確認します。
  • Google API のブランドの取り扱いガイドラインを遵守していることを確認します。このガイドラインでは、使用できる名前と説明について説明しています。

  • リスティングで Google プロダクトに言及する場合は、商標一覧に記載されている形式でその名前を使用してください。指定する場合は商標(TM)記号を付けてください。「Google ドキュメント」ではなく「Google ドキュメント TM」を使用してください。

Google のライセンスおよび請求サービスと統合する

Google Workspace Marketplace アプリケーションを Google のライセンスおよび課金サービスと統合することを検討している場合は、 Marketplace API にアクセスしてください。

設置の設定

アドオンを使用すると、管理者によるインストールだけでなく、個別でのインストールも可能です。このページでは、この 2 つのインストール タイプの違いについて説明します。どちらのインストール タイプの昇格も意図したものではありません。個々のインストールを許可するかどうかは、Google Workspace Marketplace SDK アプリの構成ページで選択できます。

管理者によるインストール

管理者によるインストールでは、管理者はドメイン内のすべてのアカウント、または特定のアクセス グループまたは組織部門にアドオンを追加できます。管理者のインストールを実行できるのはドメイン管理者のみです。管理者は、ドメイン内のすべてのユーザーに代わって、すべてのアクセス スコープに同意できます。管理者が同意した場合、ユーザーはアクセス スコープに対する同意を求められません。

管理者によるインストールについては、次の点を考慮してください。

  • きめ細かな管理。管理者は、アドオンにアクセスできるユーザーを制限できます。
  • ライセンスとの互換性。アプリにライセンスが必要な場合は、管理者を通じてインストールをチャネリングすることで、ライセンスが配布され、対応する機関で適切に使用されるようになります。
  • エンドユーザーの負担を軽減。管理者をインストールすると、教師と生徒のセットアップの負荷が軽減されます。その結果、クリック数が減り、混乱を招く可能性が減り、よりシームレスなユーザー エクスペリエンスが実現します。

管理者によるインストール方法の詳細については、ドメイン内に Marketplace アプリをインストールするをご覧ください。組織部門とアクセス グループの詳細については、組織構造の仕組みをご覧ください。

個別インストール

個別インストールでは、ユーザー自身のアカウントにアドオンが追加されます。インストール中に、アドオンのアクセス スコープへの同意が求められます。

個々のインストールに関する考慮事項は次のとおりです。

  • 導入を促進する。より多くのユーザーが Google Workspace Marketplace でアドオンを表示してインストールできるようになります。個別にインストールできるようにすると、より多くの教師がプロダクトを採用したり、推奨したりする可能性があります。
  • 管理者によるテスト。管理者は、より広範なグループに対して承認またはインストールする前に、アドオンを個別にインストールしてテストまたは評価できます。

管理者は、ユーザーに代わってアドオンをインストールするだけでなく、許可リストを維持して、ユーザーが個々のインストールを許可するアドオンをインストールできるようにすることもできます。アドオンが許可リストに登録されていない場合、ユーザーは Google Workspace Marketplace でアドオンのリスティングを表示できますが、アドオンをインストールすることはできません。代わりに、アドオンがドメイン管理者によってインストールを許可されていないことを示すメッセージが表示されます。この動作の詳細については、許可リストに登録された Google Workspace Marketplace アプリを管理するをご覧ください。

詳細については、Google Workspace Marketplace のインストール設定のドキュメントをご覧ください。

アプリの統合

[アタッチメントのセットアップ URI] フィールドに起動 iframe URL を指定する必要があります。この URL は、添付ファイルの検出 iframe の iframe src 値として使用されます。添付ファイルの検出 iframe は、課題に添付するコンテンツやアクティビティを見つけるために教師が使用します。

アドオンから添付ファイルへのアクセスを許可する URI 接頭辞もすべて指定する必要があります。この機能により、未承認のソースからの添付ファイルが防止されるため、セキュリティが向上します。

これらのフィールドの詳細については、iframe のガイドページをご覧ください。

テスト アカウント

デモドメインにテスト アカウントを作成して、限定公開アドオンの正しい動作を確認します。「生徒の提出物の確認」 iframe で生徒の切り替えをテストするには、2 つの生徒アカウントが必要です。

推奨されるテスト アカウント:

  • Tammy Teacher、tammy.teacher@<デモドメイン>
  • Sam Student、sam.student@<デモドメイン>
  • Sally Student, sally.student@<デモドメイン>

新しいテスト アカウントを作成する手順は次のとおりです。

  1. 管理コンソールにログインします。
  2. [ユーザー] に移動します。
  3. [新しいユーザーを追加] をクリックします(図 1 を参照)。
  4. ユーザーの情報を入力し、適切なロールを割り当てます。

[新しいユーザーを追加] をクリックします。 図 1.管理コンソール内の [新しいユーザーの追加] リンクの場所。

新しいテストグループを作成する手順は次のとおりです。

  1. 管理コンソールにログインします。
  2. [グループ] に移動します。
  3. [グループを作成] をクリックします(図 2 を参照)。
  4. グループのメンバーとオーナーを入力します。

[グループを作成] をクリックします。 図 2.管理コンソール内の [グループを作成] リンクの場所。