# 疑難排解

## 找不到 Drive 總資料夾

可能原因：

- `CONFIG.ROOT_FOLDER_ID` 填錯。
- 使用者帳號沒有該資料夾的編輯權限。
- 貼到的是整段網址但沒有正確擷取 folder ID。

處理方式：

1. 先執行 `testDriveFolder()`。
2. 確認 Logger 顯示正確資料夾名稱。
3. 若失敗，重新複製 Drive folder URL 中 `/folders/` 後面的 ID。

## Calendar 沒有建立提醒

可能原因：

- `CONFIG.CALENDAR_ID` 填錯。
- 執行 Apps Script 的帳號沒有該日曆的建立事件權限。
- 表單選擇了「是否建立Calendar提醒：否」。

處理方式：

1. 先執行 `testCalendar()`。
2. 若不確定 Calendar ID，先使用 `primary`。
3. 確認 `專案階段日期紀錄` 的備註欄是否有 Calendar 錯誤訊息。

## 專案編號找不到

可能原因：

- `專案階段日期新增表` 填錯專案編號。
- `行政專案總控表` 沒有該專案。
- 總控表欄位 `專案編號` 被改名。

處理方式：

1. 從 `行政專案總控表` 直接複製專案編號。
2. 確認總控表第一列仍有 `專案編號` 欄位。
3. 重新送出階段日期表單。

## 表單欄位沒有更新

`setupAdminWorkflow()` 會保存已建立的表單 ID，因此改版後不會自動覆蓋舊表單欄位。

若要重建表單：

1. 到 Apps Script 的 `Project Settings`。
2. 開啟 `Script Properties`。
3. 刪除要重建的表單屬性：
   - `STARTER_FORM_ID`
   - `STARTER_RESPONSE_SHEET_ID`
   - `MILESTONE_FORM_ID`
   - `MILESTONE_RESPONSE_SHEET_ID`
4. 重新執行 `setupAdminWorkflow()`。

## Gmail 通知沒有寄出

可能原因：

- 第一次授權沒有允許 Gmail 權限。
- 承辦人或負責人 Email 欄位空白。
- Google Workspace 管理政策限制 Apps Script 寄信。

處理方式：

1. 確認表單 Email 欄位有填。
2. 到 Apps Script Executions 查看錯誤。
3. 若是網域政策限制，請洽 Google Workspace 管理員。

