File size: 1,583 Bytes
aaee22d
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
"""

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()