Google Cloud プロジェクトの構成

このページでは、Classroom アドオン用の Google Cloud プロジェクトの作成と構成について説明します。Google Cloud プロジェクトは、OAuth 2.0 を介した Google シングル サインオン(Google SSO)の実装、アドオンによるリクエストの承認、Google Workspace Marketplace ストアでのアドオンのリスティングの管理に使用されます。

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

Google Cloud プロジェクトの作成

作成するプロジェクトには、開発に使用する限定公開プロジェクトと、エンドユーザーがアクセスできる公開プロジェクトの 2 種類があります。[公開] ラベルと [非公開] ラベルは、Google Workspace Marketplace でのアプリケーションの公開設定を示します。非公開の Marketplace アプリケーションは、作成されたドメイン内のユーザーのみがインストールできます。公開 Marketplace アプリケーションは、どの Google Workspace ドメインでも使用できます。プロジェクトを公開と限定公開の両方にすることはできないため、これらは 2 つの個別のアプリケーションにする必要があります。公開アプリケーションは、マーケットプレイスで利用可能になる前に審査と承認を受ける必要があります。

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

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

このプロジェクトは、管理者、教師、生徒がアクセスできるアドオン アプリケーションを表します。公開プロジェクトをリリースまたはインストールするには、Google Workspace Marketplace チームによる審査と承認が必要です。

  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. Marketplace SDK の [ストアのリスティング] ページで必須項目に入力し、[公開] をクリックします。

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

非公開の 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 に許可するよう Google にリクエストされます。

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

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

    Classroom API を有効にする

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

    Google Workspace Marketplace SDK を有効にする

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

  7. Marketplace SDK の [ストアのリスティング] ページで必須項目に入力し、[公開] をクリックします。アプリ リスティングが公開されると、ドメイン内のユーザーは Google Workspace Marketplace でアプリを検索してインストールできます。また、ストア リスティング ページに表示されるアプリの URL にアクセスしてインストールすることもできます。

OAuth 2.0

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

Classroom スコープは機密情報であるため、アドオンをリリースする前に OAuth の確認をリクエストする必要があります。確認が完了していないと、ユーザーにはアプリが未確認であるという警告メッセージが表示され、少数のユーザーのみがプロダクトにアクセスできるようになります。確認の詳細については、審査手順の概要をご覧ください。

使用可能なすべてのスコープとその用途の詳細なリストについては、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 に渡されます。ユーザーがこれらのスコープのいずれかを承認していない場合、login_hint は送信されません。

login_hint は標準の 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 リスティング

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

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

公開 Google Cloud プロジェクトの Marketplace SDK ストアのリスティングには、エンドユーザー向けのアプリケーションの名前と説明を指定します。これらの詳細は、[アプリの詳細] で複数の言語で指定できます。

リスティングに関する次のガイドラインを遵守してください。

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

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

    • [簡単な説明] と [詳細な説明] に同じテキストを含めないでください。

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

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

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

  • [グラフィック アセット] で、次の操作を行います。

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

    • アプリの利用規約へのリンクが指定されていることを確認します。
  • 許可される名前と説明を規定する Google API のブランド使用ガイドラインに準拠していることを確認します。

  • リスティングで Google プロダクトを参照する場合は、商標リストに記載されている形式で名前を使用します。商標(™)記号が指定されている場合は、必ず含めてください。「Google Docs」ではなく「Google Docs™」を使用してください。

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 のインストール設定に関するドキュメントをご覧ください。

アプリの統合

[Attachment Setup 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. 管理コンソールの [グループを作成] リンクの場所。