Files
ewoooc/tests/test_google_drive_auth.py
ogt f3e412cd21
Some checks are pending
CD Pipeline / deploy (push) Waiting to run
fix: harden google drive import auth
2026-06-27 20:31:34 +08:00

73 lines
2.0 KiB
Python

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Google Drive 首次認證腳本
"""
import sys
import os
# 確保可以導入專案模組
sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)))
def main():
print("=" * 60)
print("Google Drive OAuth 2.0 認證")
print("=" * 60)
print()
print("請確認以下檔案存在:")
print(" 📁 config/google_credentials.json")
print()
if not os.path.exists('config/google_credentials.json'):
print("❌ 找不到憑證檔案!")
print()
print("請依照以下步驟設定:")
print("1. 前往 Google Cloud Console 建立 OAuth 2.0 憑證")
print("2. 下載 JSON 檔案")
print("3. 重新命名為 google_credentials.json")
print("4. 放到 config/ 目錄中")
print()
print("詳細說明請參考: GOOGLE_DRIVE_SETUP.md")
return 1
print("✅ 找到憑證檔案")
print()
print("正在啟動 OAuth 2.0 認證流程...")
print("終端機會顯示授權網址,請在可登入 Google 的瀏覽器開啟後完成授權。")
print()
os.environ["GOOGLE_DRIVE_ALLOW_INTERACTIVE_AUTH"] = "true"
try:
from services.google_drive_service import drive_service
if drive_service.authenticate():
print()
print("=" * 60)
print("✅ 認證成功!")
print("=" * 60)
print()
print("Token 已儲存至: config/google_token.json")
print()
print("現在可以:")
print(" 1. 在網頁介面測試連接: http://localhost/auto_import")
print(" 2. 執行測試腳本: python3 test_google_drive.py")
print()
return 0
print()
print("❌ 認證失敗")
print("請檢查憑證檔案是否正確")
return 1
except Exception as e:
print()
print(f"❌ 認證過程發生錯誤: {str(e)}")
import traceback
traceback.print_exc()
return 1
if __name__ == "__main__":
sys.exit(main())