リンクの添付ファイルを Classroom アドオンの添付ファイルにアップグレードする

教師が Classroom にサードパーティのコンテンツを追加する方法の一つは、 課題の作成ページに、リンクをリンク添付ファイルとして貼り付ける。ビルド アドオンの構成ができるようになりました。 教師がリンクの添付ファイルをアドオンの添付ファイルにアップグレードできるようにする。

概要

この機能を使用してアドオンを構成すると、教師は リンクの添付ファイルを貼り付けるときに、アドオンの添付ファイルへのリンクを 課題の作成ページが開きます教師は、すでに インストールされている必要があります

アドオン添付へのリンクへのアップグレードに教師が同意すると、リンクは iframe のアップグレードが次のクエリ パラメータを指定して起動されます。

  • courseId
  • itemId
  • itemType
  • addOnToken
  • urlToUpgrade
  • login_hint(ユーザーがアプリをすでに承認している場合のみ)

最初の 4 つのクエリ パラメータは、 添付ファイルの検出 iframeurlToUpgrade クエリ パラメータは新しく、 アドオン添付ファイルの作成方法の評価に役立ちます。その後、 ユーザーがログインしているかどうかを確認し、 CreateAddOnAttachment courseWorkcourseWorkMaterials または itemType 値に基づく announcements。iframe 内では 読み込み画面が表示され、アドオンの添付ファイルが 作成されます。

アドオンの添付ファイルが作成されると、iframe は閉じられ、 教師は、通常どおり課題の添付ファイルを表示できます。

技術的な実装の詳細

このセクションでは、この機能の重要な技術的詳細について説明します。

urlToUpgrade クエリ パラメータを読み取る

urlToUpgrade クエリ パラメータは、Link に渡される際に URI エンコードされます。 iframe をアップグレード。元の形式で取得するには、URL をデコードする必要があります。条件 JavaScript を使用している場合。たとえば、decodeURIComponent() を使用できます。 呼び出すことができます。

この機能に最適なユーザー エクスペリエンスを実現するには、postMessage を 1 回送信します。 アドオンの添付ファイルが正常に作成されました。これにより、iframe が終了します。詳しくは、 iframe 実装の詳細ページをご覧ください。

構成の詳細

この機能を アドオン:

  • リンク アップグレード iframe の URL: 教師がアップグレードに同意した場合に表示されます。

  • Classroom が検出して試行する URL パターン アップグレード: URL パターンは、1 つのホストと複数のパスで構成できます。 使用できます。

    • 複数の URL パターンを指定できます。
    • パスの接頭辞を指定しない場合は、ホストに一致するすべての URL が アップグレードが可能です。
    • アップグレードできるのは、https スキームを使用した URL のみです。
    • URL パターンに localhost を含めることはできません。
    • パスの接頭辞にクエリ パラメータや URL フラグメントを含めることはできません。
    • 現在のところ、パス接頭辞ではワイルドカードを使用できますが、ホストでは次のことができません。 <ph type="x-smartling-placeholder">
        </ph>
      • example.com は有効なホストです。 /foo/bar/*/baz は、有効なパス接頭辞です。
      • example.*.host.com は次ではありません 検証します。
    • パス接頭辞コンポーネント間のワイルドカードは、単一の コンポーネントを表すため、スラッシュで区切られた複数のコンポーネントには一致しません。 ホスト example.com とパス接頭辞を含む URL パターンを検討する /bar/*/baz: <ph type="x-smartling-placeholder">
        </ph>
      • https://example.com/bar/123/baz は URL との有効な一致です パターンです。
      • https://example.com/bar/123/baz/456/789 は、 URL パターン。
      • https://example.com/bar/123/456/baz は、 URL パターン(パスの接頭辞のワイルドカードが一致しないため) /123/456/
で確認できます。

開発プロセス

テスト環境または本番環境用のリンク アップグレードの iframe URL と URL パターンを送信する classroom-link-upgrade-external@google.com 宛てにメールでお問い合わせください。

サービス アカウントを表す任意の Google Cloud プロジェクトに対して、 Classroom アドオン。まず最初に アドオンの構成を非公開にできます。これにより、Google Cloud の 実際のユーザーに影響を与えることなく、デモドメインでテストできます。

構成が完了すると、メールが届きます。 有効にします。localhost を使用する URL パターンは、この方法でサポートされていません 機能。

次の内容を含むメールを作成します。

Google Cloud Project number: GCP_PROJECT_NUMBER

Link Upgrade iframe URL: LINK_UPGRADE_IFRAME_URL

URL Patterns:
-   Host:HOST_1
-   Path prefixes:
  -   PATH_PREFIX_1
  -   PATH_PREFIX_2

-   Host:HOST_2
-   Path prefixes:
  -   PATH_PREFIX_3
  -   PATH_PREFIX_4

// add more hosts and path prefixes as needed

次のように置き換えます。

  • GCP_PROJECT_NUMBER: Google Cloud プロジェクトの番号 確認します。
  • LINK_UPGRADE_IFRAME_URL: iframe のアップグレードをリンクします。
  • HOST_1: Classroom が検出するホスト。 https スキームがサポートされています。
  • PATH_PREFIX_1PATH_PREFIX_2: パス Classroom が検出して試行する HOST_1 に関連付けられた接頭辞 アップグレードが必要です。
  • HOST_2: Classroom が検出するホスト。 https スキームがサポートされています。
  • PATH_PREFIX_3PATH_PREFIX_4: パス Classroom が検出して試行する HOST_2 に関連付けられた接頭辞 アップグレードが必要です。

この機能を実装する際は、次の推奨事項を検討してください。

教師の余計な手間を省く

ログインを容易にするために iframe を使用することを強くおすすめします。 読み込みインジケーターを表示するなどの処理を行います。最適なユーザー エクスペリエンスを実現するため、 追加の情報の入力を求められることはありません。 は、貼り付けたリンクをアドオン添付ファイルにアップグレードすることに同意しました。ただし、 アップグレードが不可能な場合は、リンク アップグレードの iframe を使って 追加情報が表示されます。iframe を使用して リンクをアップグレードできない場合やエラーが発生した場合は、教師に通知します。

ユーザー フレンドリーなアクセスに関するエラー メッセージを含める

教師がアクセスできないリンクを貼り付けてアップグレードする場合、 iframe に表示されるユーザー フレンドリーなエラー メッセージを表示して、教師がこの問題を認識できるようにします。 iframe を使用して、教師に適切なリソースを提供することもできます。 ユーザーに付与します。