""" NotebookLM 认证获取脚本 在新的 PowerShell 窗口中运行此脚本来获取认证信息 """ import asyncio import sys # 修复 Windows asyncio 问题 if sys.platform == 'win32': asyncio.set_event_loop_policy(asyncio.WindowsProactorEventLoopPolicy()) from playwright.sync_api import sync_playwright import json import os def login_and_get_auth(): storage_path = os.path.expanduser("~/.notebooklm/storage_state.json") os.makedirs(os.path.dirname(storage_path), exist_ok=True) print("正在打开浏览器...") print("请登录你的 Google 账号...") with sync_playwright() as p: browser = p.chromium.launch(headless=False) context = browser.new_context() page = context.new_page() # 导航到 NotebookLM page.goto("https://notebooklm.google.com", timeout=60000) # 等待用户登录 input("\n✅ 登录完成后,按 Enter 键保存认证信息...") # 保存 storage state context.storage_state(path=storage_path) browser.close() print(f"\n✅ 认证信息已保存到: {storage_path}") # 读取并显示用于 HF Secret 的内容 with open(storage_path, "r", encoding="utf-8") as f: content = f.read() print("\n" + "=" * 60) print("复制以下内容作为 HF Space Secret (NOTEBOOKLM_AUTH_JSON):") print("=" * 60) print(content) return content if __name__ == "__main__": login_and_get_auth()