68 lines
1.8 KiB
Python
68 lines
1.8 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__)))
|
|
|
|
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")
|
|
sys.exit(1)
|
|
|
|
print("✅ 找到憑證檔案")
|
|
print()
|
|
print("正在啟動 OAuth 2.0 認證流程...")
|
|
print("瀏覽器將自動開啟,請完成授權。")
|
|
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()
|
|
else:
|
|
print()
|
|
print("❌ 認證失敗")
|
|
print("請檢查憑證檔案是否正確")
|
|
sys.exit(1)
|
|
|
|
except Exception as e:
|
|
print()
|
|
print(f"❌ 認證過程發生錯誤: {str(e)}")
|
|
import traceback
|
|
traceback.print_exc()
|
|
sys.exit(1)
|