ai_member_xiaoxi/scripts/check_doc.py
2026-05-08 08:00:01 +08:00

32 lines
1.4 KiB
Python

import json, requests
conf = json.load(open('/root/.openclaw/credentials/xiaoxi/config.json'))
app = conf['apps'][0]
# Get tenant access token
r = requests.post("https://open.feishu.cn/open-apis/auth/v3/tenant_access_token/internal", json={
"app_id": app['appId'],
"app_secret": app['appSecret']
})
token = r.json().get('tenant_access_token', '')
print(f"Token: {'OK' if token else 'FAILED'}")
# Check data dict doc
for doc_id, name in [("YEk6dWmsHoT02lxlO3tcNBrHnXe", "数据字典"), ("HmxMd58OeoNXlsxpICLccorhnve", "数据地图")]:
r = requests.get(f"https://open.feishu.cn/open-apis/docx/v1/documents/{doc_id}/raw_content",
headers={"Authorization": f"Bearer {token}"})
d = r.json()
if d.get('code') == 0:
blocks = d['data'].get('blocks', [])
print(f"\n[{name}] Blocks: {len(blocks)}")
for b in blocks[:3]:
bt = b.get('block_type', '?')
content = b.get('text') or b.get('heading1') or b.get('heading2') or b.get('heading3') or b.get('heading4') or {}
if isinstance(content, dict):
txt = ''.join(e.get('text_run', {}).get('content', '') for e in content.get('elements', []))
print(f" [{bt}] {txt[:100]}")
if len(blocks) > 3:
print(f" ... ({len(blocks)} blocks total)")
else:
print(f"\n[{name}] Error: {d.get('code')} {d.get('msg')}")