このページには、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 チームによる審査と承認を受ける必要があります。
本番環境ドメインに新しい Google Cloud プロジェクトを作成します。
Cloud プロジェクトで Classroom API を有効にします。
Cloud プロジェクトで Google Workspace Marketplace SDK を有効にします。
Marketplace SDK の [アプリの構成] [アプリの公開設定] を [公開] に設定し、[非公開] チェックボックスをオンにします。
Marketplace SDK の [ストアのリスティング] ページで必須フィールドに入力し、 [**公開**] をクリックします。
アプリは Google Workspace Marketplace チームによって審査されます。Marketplace SDK で指定されたデベロッパーのメールアドレスを使用して連絡が届きます。アプリが承認されたら、 [**非公開**] チェックボックスをオフにして、教師と管理者が Marketplace でアプリを見つけられるようにします。
非公開の Google Cloud プロジェクトを作成する
この非公開 プロジェクトは、開発に使用されるアドオン アプリケーションを表します。 作成されたドメイン外のユーザーはアクセスできませんが、インストール前に承認を受ける必要はありません。そのため、このプロジェクトを使用して、管理された環境でアドオンを開発してテストすることをおすすめします。
非公開プロジェクトを作成するには、Teaching &Learning または Plus ライセンスの Google Workspace for Education ドメインへのアクセス権が必要です。そのようなドメインにまだアクセスできない場合は、次の手順で Google Workspace for Education のデモドメインを設定し、Plus ライセンスにアップグレードして、Classroom アドオン API にアクセスできるようにします。
- デベロッパー テスト ドメインを取得する手順を完了します。
デモドメインに管理者としてログインし、新しい Google Cloud プロジェクトを作成します。
Google Cloud コンソールにアクセスできない場合や、 Cloud プロジェクトを作成できない場合は、 管理コンソールで次の点を確認してください。
- [アカウント設定 > 年齢に基づくアクセス設定] ページに移動し、[このグループまたは組織部門のすべてのユーザーが 18 歳以上] オプションを選択します。
- [アプリ > その他の Google サービス] で、次のことを確認します。
- Google Cloud Platform がすべてのユーザーに対してオン になっている。
- [プロジェクト作成の設定] が [ユーザーにプロジェクトの作成を許可する] になっている。
- [Cloud Shell のアクセス設定] が [Cloud Shell へのアクセスを許可] になっている。
デモドメインのアップグレード リクエスト フォームに必要事項を入力して送信します。このフォームを送信すると、デモドメインが 10 個のライセンスが付与された Google Workspace for Education Plus にアップグレードされ、 のクラウド プロジェクトが Classroom アドオン API にアクセスできるようになります。
アップグレードと許可リストの処理が完了するとメールが届きます。 管理コンソールで、テスト教師アカウントに Plus ライセンスを割り当てます。[ディレクトリ > ユーザー] で、テスト教師アカウントを作成または選択します。各教師の [**ライセンス**] で、Google Workspace for Education Plus が [**割り当て済み**] になっていることを確認します。
Cloud プロジェクトで Classroom API を有効にします。
Cloud プロジェクトで Google Workspace Marketplace SDK を有効にします。
Marketplace SDK の [アプリの構成] [**アプリの公開設定**] を [**非公開**] に設定します。
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が指定されている場合は検証されます。アドオンが投稿に既存のアタッチメントを追加していない場合は必須です)
- 投稿にアタッチメントを作成する(
- アドオンが投稿に少なくとも 1 つのアタッチメントを追加している場合は、次のリクエストを行うことができます。
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 Store] [Listing] には、エンドユーザー向けのアプリケーションの名前と 説明が指定されています。これらの詳細は、[アプリの詳細] で複数の言語で入力できます。
リスティングでは、次のガイドラインに従ってください。
-
[アプリの詳細]で、次のことを確認します。
- [アプリケーション名] に句読点を使用しないでください。たとえば、「My Company: My Add-on」や「My Add-on, by My Company」ではなく、「My Add-on by My Company」を使用します。
- [簡単な説明] と [詳細な説明] に同じテキストを含めないでください。
- [料金] フィールドで値を選択していることを確認します。この フィールドには、無料、無料トライアル付きの有料、無料機能付きの有料、有料の料金オプションがあります。Marketplace のリスティングで費用を指定する必要はありません。
- [カテゴリ] フィールドで値を選択していることを確認します。 Classroom アドオンには、[ 学術リソース] または [ 教師と管理者のツール] が適しています。
- 詳しくは、Marketplace のアプリ の詳細の説明に記載されている項目をご覧ください。
-
[グラフィック アセット]:
- 提供された画像および映像がぼやけておらず、Google Workspace Marketplace の標準で指定されたサイズを満たしている。
- 提供されたスクリーンショットが、アドオンのエクスペリエンスを正確に表している。
-
[サポートリンク]で、次のことを確認します。
- アプリケーションの利用規約 へのリンクを指定している。
- 許可される名前と説明を対象とする Google API のブランディング ガイドラインに 準拠している。
- リスティングで Google プロダクトに言及する場合は、 商標リストに記載されている形式で名前を使用します。指定されている場合は、 商標(™)記号を含めてください。たとえば、「Google ドキュメント™」ではなく「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 のインストール設定のドキュメントを ご覧ください。
アプリの統合
[アタッチメントの設定 URI] フィールドに起動 iframe の URL を指定する必要があります。この
URL は、アタッチメント検出 iframe の iframe src 値として使用されます。アタッチメント検出 iframe は、教師が課題に添付するコンテンツやアクティビティを見つけるために使用します。Google Cloud プロジェクト コンソールで設定できます。
[許可されるアタッチメント URI 接頭辞] は、
AddOnAttachment で設定された URI を検証するために、*.addOnAttachments.create と
*.addOnAttachments.patch メソッドを使用して使用されます。検証はリテラル文字列の接頭辞の一致であり、ワイルドカードの使用は許可されません。
アドオンからアタッチメントを許可するすべてのURI 接頭辞 も指定する必要があります。この機能により、承認されていないソースからのアタッチメントを防ぐことでセキュリティが強化されます。
これらの値は両方とも、Google Cloud プロジェクトの Marketplace SDK の [**アプリの構成**] ページで設定します。
テスト アカウント
デモドメインにテスト アカウントを作成して、非公開アドオンが正しく動作することを確認します。[生徒の提出物の確認] iframe で生徒を切り替えるテストを行うには、2 つの生徒アカウントが必要です。
推奨されるテスト アカウントは次のとおりです。
- Tammy Teacher, tammy.teacher@<your demo domain>
- Sam Student, sam.student@<your demo domain>
- Sally Student, sally.student@<your demo domain>
新しいテスト アカウント を作成する手順は次のとおりです。
- 管理コンソールにログインします。
- [ユーザー] に移動します。
- [新しいユーザーの追加] をクリックします(図 1 を参照)。
- ユーザーの情報を入力し、適切な役割を割り当てます。
図 1.管理コンソール内の [新しいユーザーの追加] リンクの場所。
新しいテスト グループを作成する手順は次のとおりです。
- 管理コンソールにログインします。
- [グループ] に移動します。
- [グループを作成] をクリックします(図 2 を参照)。
- グループのメンバーとオーナーを入力します。
図 2.管理コンソール内の [グループを作成] リンクの場所。