# Google Drive API 設定指南 ## 📋 功能說明 系統自動化流程(PChome 後台業績匯出): 1. PChome 後台業績 Excel 先被放入 Google Drive `當日業績匯入` 資料夾。 2. `momo-scheduler` **每 30 分鐘**檢查待匯入檔案。 3. 自動下載 `即時業績_當日.xlsx` 或符合設定 pattern 的 Excel。 4. 自動辨識明細 worksheet / 表頭列,匯入至 `daily_sales_snapshot` 並同步 `realtime_sales_monthly`。 5. 成功檔案歸檔至 `已匯入`;格式或日期不合格的檔案移至 `匯入失敗`,避免重複告警。 --- ## 🔑 認證資訊庫 | 項目 | 值 | |-----|-----| | Google Cloud 專案名 | `wooo-481204` | | Client ID | `132823079326-h9cvj5eahigm8hp9q0b7t5rk77bhu3gp...` | | 認證帳號 | `owen.tsai@gmail.com` | --- ## 🛠️ 首次認證步驟 正式排程不可啟動瀏覽器;只有人工在可互動環境重新授權時,才允許進入 OAuth 授權流程,而且仍只印出授權網址。 若 `config/google_token.json` 遺失或過期,執行以下指令: ```bash GOOGLE_DRIVE_ALLOW_INTERACTIVE_AUTH=true python3 -c "from services.google_drive_service import drive_service; drive_service.authenticate()" ``` 執行後系統會在 terminal 印出 Google 授權網址;請手動複製到可登入 Google 的瀏覽器完成授權。 正式排程與容器內不會自動尋找或啟動本機瀏覽器。 若正式環境仍只有舊版 `config/google_token.pickle`,需在可信任的正式容器中做一次性轉換: ```bash MOMO_ALLOW_LEGACY_GOOGLE_TOKEN_PICKLE_MIGRATION=true python3 scripts/tools/migrate_google_drive_token.py ``` 正式 `config/` 是 scheduler 與 app 共用的 bind mount;容器必須能寫入 `config/google_token.json`,否則 token refresh 後無法持久化,主機重啟後會再次失敗。 若正式 Docker 啟用 user namespace remap,host 端需讓 remap 後的 container root 可寫入此目錄。 --- ## 📁 資料夾結構要求 Google Drive 根目錄必須存在: `我的雲端硬碟/業績報表/當日業績/` > 後續若要把 PChome 後台人工匯出改成全自動,先閱讀 > `docs/guides/pchome_sales_import_automation.md`。