授權範圍

透過集合功能整理內容 你可以依據偏好儲存及分類內容。

使用者必須授權會存取其資料或代表指令碼的指令碼專案。當使用者執行需要首次授權的指令碼時,UI 會顯示提示,以啟動授權流程。

在這個流程中,UI 會告知使用者指令碼的權限。例如,指令碼可能需要讀取使用者的電子郵件或在自己的日曆中建立活動的權限。指令碼專案會將這些個別權限定義為「OAuth 範圍」

大多數指令碼會自動偵測您需要使用哪些範圍,您可以隨時查看指令碼使用的範圍。您也可以使用網址字串,在資訊清單明確設定範圍。某些應用程式 (例如外掛程式) 有時必須明確設定範圍,因為發布的應用程式應盡可能使用最窄的範圍。

在授權流程期間,Apps Script 會向使用者顯示使用者可理解的必要範圍說明。舉例來說,如果您的指令碼需要試算表的唯讀存取權,則資訊清單的範圍可能是 https://www.googleapis.com/auth/spreadsheets.readonly。在授權流程中,具有此範圍的指令碼會要求使用者允許這個應用程式「查看您的 Google 試算表」。

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

檢視範圍

請按照下列步驟操作,查看指令碼專案目前所需的範圍:

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

設定明確範圍

Apps Script 會在掃描程式碼時,自動掃描需要程式碼的函式,藉此判斷指令碼需要的範圍。這對於大多數指令碼來說已足夠,並能節省您的時間,但對於已發布的外掛程式和網頁應用程式,您必須更直接地控管範圍。

Apps Script 有時會自動指派過於寬鬆範圍的專案。這意味著您的指令碼會詢問使用者的需求過多,這是不理想的做法。如果是已發布的指令碼,您必須將範圍限定為範圍更廣且涵蓋指令碼需求的部分。

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

  1. 開啟指令碼專案。
  2. 按一下左側的「專案設定」圖示
  3. 勾選 [在編輯器中顯示 &appst.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 範圍的額外規定才能發布。