2.1 KiB
2.1 KiB
Google Drive API 設定指南
📋 功能說明
系統自動化流程(PChome 後台業績匯出):
- PChome 後台業績 Excel 先被放入 Google Drive
當日業績匯入資料夾。 momo-scheduler每 30 分鐘檢查待匯入檔案。- 自動下載
即時業績_當日.xlsx或符合設定 pattern 的 Excel。 - 自動辨識明細 worksheet / 表頭列,匯入至
daily_sales_snapshot並同步realtime_sales_monthly。 - 成功檔案歸檔至
已匯入;格式或日期不合格的檔案移至匯入失敗,避免重複告警。
🔑 認證資訊庫
| 項目 | 值 |
|---|---|
| Google Cloud 專案名 | wooo-481204 |
| Client ID | 132823079326-h9cvj5eahigm8hp9q0b7t5rk77bhu3gp... |
| 認證帳號 | owen.tsai@gmail.com |
🛠️ 首次認證步驟
正式排程不可啟動瀏覽器;只有人工在可互動環境重新授權時,才允許進入 OAuth 授權流程,而且仍只印出授權網址。
若 config/google_token.json 遺失或過期,執行以下指令:
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,需在可信任的正式容器中做一次性轉換:
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。