Google Cloud 專案設定

本頁提供建立及設定 Classroom 外掛程式 Google Cloud 專案的相關必要資訊。Google Cloud 專案可透過 OAuth 2.0 (Google 單一登入) 實作 Google 單一登入、授權外掛程式提出的要求,以及管理 Google Workspace Marketplace 商店中的外掛程式清單。

如需將外掛程式發布到 Marketplace 的一般資訊,請參閱「發布應用程式」。

建立 Google Cloud 專案

要建立的專案有兩種:一種用於開發的「私人」專案,以及使用者可存取的「公開」專案。「公開」和「私人」標籤代表 Google Workspace Marketplace 中應用程式的瀏覽權限;私人 Marketplace 應用程式只能由建立時所在網域的使用者安裝,而公開 Marketplace 應用程式則可供任何 Google Workspace 網域使用。這兩個應用程式必須是不同的應用程式,因為專案不能同時是公開和不公開。公開應用程式必須通過審查並獲得核准,才能在市集上架。

如需建立 Google Cloud 專案的一般資訊,請參閱「建立 Google Cloud 專案」一文。

建立私人 Google Cloud 專案

這項 private 專案代表用於開發作業的外掛程式應用程式。網域外的使用者無法存取該檔案,但不必經過核准就能安裝。因此,Google 建議您使用這項專案,在受控管的環境中開發及測試外掛程式。

您必須具備具備 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 授權指派給測試老師帳戶。在「Directory」(目錄) >「Users」(使用者) 底下,建立或選取您的測試老師帳戶。在每個老師的「授權」中,確認 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 中找到並安裝應用程式,或是造訪商店資訊頁面顯示的應用程式網址

建立公開 Google Cloud 專案

這項專案代表管理員、老師和學生可存取的外掛程式應用程式。

  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. 與 Google 合作夥伴分享 Cloud 專案 ID 或 Cloud 專案編號,將專案新增至外掛程式許可清單。這樣專案就能存取 Classroom API 新的外掛程式功能。

  6. 填妥 Marketplace SDK「商店資訊」頁面中的必填欄位,然後按一下「發布」

  7. Google Workspace Marketplace 團隊會審查您的應用程式。他們會使用 Marketplace SDK 中指定的開發人員電子郵件地址與您聯絡。應用程式獲得核准後,請清除「不公開」方塊,方便老師和管理員在 Marketplace 中找到該應用程式。

OAuth 2.0

取得使用者資料存取權限後,才能存取 Classroom API。如要取得上述權限,請為已登入的使用者要求 Google 存取 OAuth 範圍,並取得可用於後續向 Google Classroom 發出 API 呼叫的權杖。您必須在 Google Workspace Marketplace 商店資訊中設定範圍,讓網域管理員可以在安裝外掛程式時代表網域使用者提供同意聲明。

如需所有可用範圍及其用途的詳細清單,請參閱 Google API 的 OAuth 範圍頁面。如需一般 OAuth 設定資訊,請參閱 Workspace 說明文件中的「設定 OAuth」頁面

使用者權限

您的網頁應用程式至少應要求以下一個範圍:

  • https://www.googleapis.com/auth/userinfo.email,可讓應用程式查看使用者的電子郵件地址。
  • https://www.googleapis.com/auth/userinfo.profile,可讓應用程式查看個人資訊 (例如肖像、名字和姓氏),以及使用者已公開提供的其他個人資訊。

使用者在外掛程式中授權其中一個範圍後,login_hint 查詢參數就會識別這些範圍。系統會在開啟 iframe 時,將這個參數傳送至網頁應用程式的網址。如果使用者尚未授權這些範圍,hd (「代管網域」) 參數會改為傳送至網頁應用程式的網址。

login_hinthd 是標準的 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 貼文時必須遵守下列檢查。
    • 當外掛程式在貼文中至少有一個附件時,便可發出要求:
      • iframe 啟動驗證
      • 讀取、更新及刪除附件的作業
      • 該訊息的最新成績
    • 初次開啟附件探索 iframe 時,外掛程式可能尚未有附件。提供 addOnToken 查詢參數,可用來提出以下項目的要求:
      • 在訊息下方建立附件 (需要 addOnToken)
      • 啟動驗證 (如有提供 addOnToken 會進行驗證,且如果外掛程式沒有現有連結,則需要驗證)

OAuth 驗證

Classroom 外掛程式會使用 Google API 存取 Google 使用者資料。

如要進一步瞭解驗證程序,請參閱「OAuth API 驗證常見問題」。

Google Workspace Marketplace 產品資訊

在這項搶先體驗計畫中,為 Classroom 外掛程式建立 Marketplace 商店資訊時,請注意以下事項。

如需一般 Google Workspace Marketplace SDK 設定資訊,請造訪「啟用及設定 Google Workspace Marketplace SDK」和「建立 Google Workspace Marketplace 商店資訊」。

商店資訊注意事項

公開 Google Cloud 專案的 Marketplace SDK 商店資訊清單會指定對使用者顯示的應用程式名稱和說明。您可以在「App Details」下方以多種語言提供這些詳細資料。

請按照下列指南製作商家資訊:

  • 在「App Details」下方:

    • 避免在應用程式名稱中使用標點符號。例如,請使用「我的公司提供的外掛程式」,而不是「我的公司:我的外掛程式」或「我的公司外掛程式」。

    • 簡短說明詳細說明不應包含完全相同的文字。

    • 確認已選取「Pricing」欄位的值。這個欄位包含「免費」、「付費免費試用」、「付費功能付費」和「付費」定價選項。您不需要在 Marketplace 產品資訊中指定支出金額。

    • 確認您已為「Category」欄位選取值。對於 Classroom 外掛程式來說,學術資源老師和管理員工具可能是不錯的選擇。

    • 詳情請參閱 Marketplace 的應用程式詳細資料說明中列出的項目。

  • 在「Graphics Assets」下方:

  • 在「支援連結」下方:

    • 請確認您已提供應用程式服務條款的連結。
  • 確認符合 Google API 品牌宣傳指南的規定,其中涵蓋了允許使用的名稱和說明。

  • 如要參照商家資訊中的任何 Google 產品,請使用商標清單中提供的格式。確認已指定商標 (TM) 符號;請使用「Google DocsTM」,而非「Google 文件」。

與 Google 的授權和帳單服務整合

如果您想讓 Google Workspace Marketplace 應用程式與 Google 的授權和帳單服務整合,請造訪 Marketplace API

安裝設定

除了管理員的安裝以外,外掛程式也可以允許「個人」安裝。本頁重點說明兩種安裝類型的差異,並不適用於這兩種安裝類型。您可以在 Google Workspace Marketplace SDK 應用程式設定頁面中,選擇是否允許個別安裝。

管理員安裝

管理員安裝可讓管理員為網域中的所有帳戶,或特定存取權群組或機構單位新增外掛程式。只有網域管理員可以執行管理員安裝作業。系統管理員可以選擇代表網域中所有使用者同意所有存取範圍;如果管理員選擇同意,系統就不會提示使用者同意存取任何範圍。

以下是管理員安裝時需要注意的事項。

  • 更嚴密的控制選項系統管理員可以限制哪些使用者可以存取外掛程式。
  • 與授權相容性。如果您的應用程式需要授權,透過管理員以管道方式安裝可能有助於確保授權經過發布,並能適當地與對應的機構使用。
  • 減輕使用者的負擔管理員安裝作業會降低老師和學生的設定負載。這有助於提高使用者體驗、減少點選的次數,並且減少混淆的機會。

如要進一步瞭解如何執行管理員安裝作業,請參閱「在網域內安裝 Marketplace 中的應用程式」和「機構架構如何運作」一文,進一步瞭解機構單位和存取權群組。

個別安裝

個人安裝:將外掛程式新增至使用者的帳戶。系統會在安裝期間提示使用者同意外掛程式的存取權範圍。

以下是個別安裝的相關注意事項。

  • 促進採用:更多使用者可以透過 Google Workspace Marketplace 查看及安裝您的外掛程式。如果允許個別安裝,可能會促使更多老師採用或支持您的產品。
  • 管理員測試。管理員在核准或安裝更多外掛程式給更多使用者時,可以個別安裝外掛程式,以便進行測試或評估。

除了代表使用者安裝外掛程式外,管理員也可以維護許可清單,允許使用者安裝允許個別安裝的外掛程式。如果外掛程式未加入許可清單,使用者仍可在 Google Workspace Marketplace 中看到外掛程式清單,但無法安裝外掛程式;而系統會顯示訊息,說明網域管理員尚未允許安裝外掛程式。如要進一步瞭解這項行為,請參閱「管理許可清單中的 Google Workspace Marketplace 應用程式」。

詳情請參閱 Google Workspace Marketplace 安裝設定說明文件

應用程式整合功能

您必須在「附件設定 URI」欄位中提供啟動 iframe 網址。這個網址會用做附件探索 iframe 的 iframe src 值。老師可以使用附件探索 iframe 尋找要附加至作業的內容或活動。

此外,您還必須指定外掛程式允許所有附件的 URI 前置字串。這項功能可防止來自未經授權的來源的附件,提高安全性。

如要進一步瞭解這些欄位,請參閱 iframe 指南頁面

測試帳戶

在示範網域上建立測試帳戶,以驗證私人外掛程式的正確行為。在「學生作業回顧」iframe 中,需要兩個學生帳戶測試切換不同學生的情況。

建議的測試帳戶:

  • Tammy Teacher, tammy.teacher@<您的示範網域>
  • Sam 學生, sam.student@<您的示範網域>
  • Sally 學生, sally.student@<您的示範網域>

請按照下列程序建立新的測試帳戶

  1. 登入管理控制台
  2. 前往「使用者」
  3. 按一下「Add new user」(新增使用者) (請見圖 1)。
  4. 輸入使用者資訊並指派適當角色。

按一下「新增使用者」 圖 1.管理控制台中的「新增使用者」連結位置。

按照以下程序建立新的測試群組

  1. 登入管理控制台
  2. 前往「群組」
  3. 按一下「建立群組」 (請見圖 2)。
  4. 輸入群組的成員和擁有者。

按一下「建立群組」 圖 2.管理控制台中「建立群組」連結的位置。