授權範圍

使用者必須授權指令碼專案,以便存取其資料或執行以下動作: 當使用者首次執行需要授權的指令碼時,UI 會顯示提示,要求使用者開始授權流程。

在這個流程中,UI 會向使用者說明指令碼要求的權限 該如何採取行動舉例來說,指令碼可能需要讀取使用者的 或建立活動。指令碼專案 這些個別權限都會定義為 OAuth 範圍

針對大多數指令碼,Apps Script 會自動偵測其範圍 你可以查看指令碼使用的範圍 。您也可以明確設定範圍 在您的資訊清單中使用網址字串。設定 有時候,某些應用程式 (例如 外掛程式,因為已發布的應用程式應該 建議您一律使用最精細的範圍

在授權流程中,Apps Script 會向使用者顯示必要範圍的說明,讓使用者能夠輕鬆閱讀。比方說 需要試算表的唯讀存取權,資訊清單可能包含範圍 https://www.googleapis.com/auth/spreadsheets.readonly。在授權流程中,含有此範圍的指令碼會要求使用者允許這個應用程式「查看您的 Google 試算表」。

某些範圍包含其他範圍。例如,授權範圍 https://www.googleapis.com/auth/spreadsheets 允許讀取及寫入 試算表。

查看範圍

如要查看指令碼專案目前所需的範圍,請執行 包括:

  1. 開啟指令碼專案。
  2. 按一下左側的「總覽」圖示
  3. 查看「Project OAuth Scopes」下方的範圍。

設定明確範圍

Apps Script 會自動判斷指令碼需要的範圍 方法是掃描程式碼,找出需要這些函式的函式呼叫。就大部分的指令碼而言 可為您節省時間,但對於已發布的外掛程式而言 應用程式、Google Chat 應用程式和呼叫 Google Chat API,就必須進行更多運動 直接控管範圍

Apps Script 有時會自動為專案指派非常寬鬆的範圍。 這可能表示指令碼會要求使用者超出你的需求,這很糟糕 練習。對於已發布的指令碼,您必須將廣泛的範圍替換為更受限的範圍,且僅涵蓋指令碼的需求。

您可以編輯指令碼專案的資訊清單檔案,明確設定指令碼專案使用的範圍。資訊清單欄位 oauthScopes 是專案使用的所有範圍陣列。如要設定 專案範圍,請按照下列步驟操作:

  1. 開啟指令碼專案。
  2. 按一下左側的「專案設定」圖示
  3. 選取「顯示『appsscript.json』」編輯資訊清單檔案核取方塊。
  4. 按一下左側的「編輯器」圖示
  5. 按一下左側的 appsscript.json 檔案。
  6. 找出標示為 oauthScopes 的頂層欄位。如果沒有 即可新增。
  7. oauthScopes 欄位會指定字串陣列。如何設定範圍 請將這個陣列的內容替換成 以及要使用哪些項目 例如:
          {
            ...
            "oauthScopes": [
              "https://www.googleapis.com/auth/spreadsheets.readonly",
              "https://www.googleapis.com/auth/userinfo.email"
            ],
           ...
          }
  8. 按一下頂端的「」。

OAuth 驗證

某些 OAuth 範圍會授予 Google 存取權,因此屬於「機密」範圍 使用者資料。如果您的指令碼專案使用的範圍允許存取使用者資料, 專案必須執行 OAuth 用戶端驗證 才能以網頁應用程式形式公開發布 外掛程式。 詳情請參閱下列指南:

受限制的範圍

除了敏感範圍外,某些範圍還會歸類為 限制 並遵守其他有助於保護使用者資料的規則如果您打算 發布使用一或多個元件的網頁應用程式或外掛程式 如果應用程式受限制範圍,應用程式就必須遵循所有指定限制。 才能發布

查看受限制範圍的完整清單 再嘗試發布如果您的應用程式使用其中任何一項,則必須在發布前遵守特定 API 範圍附加規定