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 つの別々のアプリケーションにする必要があります。公開アプリケーションは、マーケットプレイスで利用可能になる前に審査と承認を受ける必要があります。

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 を使用できるようになります。

    アップグレードと許可リストの処理が完了すると、メールが届きます。 管理コンソールで、テスト教師アカウントに 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 の [App Configuration](アプリの構成)の [App Visibility](アプリの公開設定)を [private](非公開)に設定します。

  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 のリリース検証
      • 添付ファイルの読み取り、更新、削除オペレーション
      • その投稿の成績の更新
    • Attachment Discovery 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](価格設定)フィールドで値が選択されていることを確認します。このフィールドには、無料有料(無料試用期間あり)有料(無料機能あり)有料の価格設定オプションが含まれます。Marketplace のリスティングで費用を指定する必要はありません。
    • [カテゴリ] フィールドの値が選択されていることを確認します。Classroom アドオンには、Academic Resources または Teacher and Admin Tools が適している場合があります。
    • 詳しくは、Marketplace のアプリの詳細の説明に記載されている項目をご覧ください。
  • [グラフィック アセット] で、以下の操作を行います。
  • [サポートリンク] で次の操作を行います。
    • アプリケーションの利用規約へのリンクを指定していることを確認します。
  • 許可されている名前と説明文について規定している Google API ブランドの取り扱いガイドラインに準拠していることを確認してください。
  • リスティングで Google サービスについて言及する場合は、商標リストに記載されている形式でサービス名を使用してください。指定されている場合は、商標(™)記号を含めてください。たとえば、「Google ドキュメント」ではなく「Google ドキュメント™」を使用します。

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 値として使用されます。Attachment Discovery iframe は、教師が課題に添付するコンテンツやアクティビティを見つけるために使用されます。これは Google Cloud プロジェクト コンソールで設定できます。

iFrame URI の構成

許可されるアタッチメント URI 接頭辞は、*.addOnAttachments.create メソッドと *.addOnAttachments.patch メソッドを使用して、AddOnAttachment で設定された URI を検証するために使用されます。検証はリテラル文字列の接頭辞一致であり、ワイルドカードの使用は許可されていません。

また、アドオンから添付ファイルが許可されるすべての URI 接頭辞も指定する必要があります。この機能は、不正な送信元からの添付ファイルを防止することでセキュリティを強化します。

これらの値は両方とも、Google Cloud プロジェクトの Marketplace SDK の [アプリの構成] ページで設定します。

テスト アカウント

デモ ドメインにテスト アカウントを作成して、非公開アドオンの動作が正しいことを確認します。生徒の課題のレビュー用 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. 管理コンソール内の [グループを作成] リンクの場所。