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 プロジェクトを作成する

このプロジェクトは、管理者、教師、生徒がアクセスできるアドオン アプリケーションを表します。公開プロジェクトは、リリースまたはインストールする前に、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. デモドメインのアップグレード リクエスト フォームに必要事項を入力して送信します。このフォームを送信すると、Google がデモドメインを 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 の [アプリの構成] の [アプリの公開設定] を [限定公開] に設定します。

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

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 に渡されます。ユーザーがこれらのスコープのいずれかを承認していない場合、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 ストア掲載では、アプリケーションの名前とエンドユーザー向けの説明を指定します。[App Details] では、これらの詳細を複数の言語で入力できます。

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

  • [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 DocsTM」を使用します。

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 は、Attachment Discovery iframe の iframe src 値として使用されます。教師が課題に添付するコンテンツやアクティビティを探すには、Attachment Discovery 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. [Create group] をクリックします(図 2 を参照)。
  4. グループのメンバーとオーナーを入力します。

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