45 lines
2.0 KiB
Python
45 lines
2.0 KiB
Python
import json
|
|
import urllib.request
|
|
import sys
|
|
import subprocess
|
|
|
|
# get token
|
|
cmd = "APP_ID=$(jq -r '.apps[0].appId' /root/.openclaw/credentials/xiaobian/config.json) && APP_SECRET=$(jq -r '.apps[0].appSecret' /root/.openclaw/credentials/xiaobian/config.json) && curl -s -X POST 'https://open.feishu.cn/open-apis/auth/v3/tenant_access_token/internal' -H 'Content-Type: application/json' -d \"{\\\"app_id\\\":\\\"$APP_ID\\\",\\\"app_secret\\\":\\\"$APP_SECRET\\\"}\" | jq -r '.tenant_access_token'"
|
|
token = subprocess.check_output(cmd, shell=True, text=True).strip()
|
|
|
|
spreadsheet_token = "KnTpsmp0XhYyXutZdxgcPFubnjh"
|
|
sheet_id = "eQUhYO"
|
|
|
|
url = f"https://open.feishu.cn/open-apis/sheets/v2/spreadsheets/{spreadsheet_token}/values/{sheet_id}!A1:H210"
|
|
req = urllib.request.Request(url)
|
|
req.add_header("Authorization", f"Bearer {token}")
|
|
req.add_header("Content-Type", "application/json")
|
|
|
|
try:
|
|
response = urllib.request.urlopen(req)
|
|
data = json.loads(response.read().decode('utf-8'))
|
|
values = data.get('data', {}).get('valueRange', {}).get('values', [])
|
|
|
|
# Let's print the last 15 rows to see the ending transition
|
|
last_rows = values[-20:]
|
|
for i, row in enumerate(values):
|
|
# We extract speaker and dialog text
|
|
if len(row) > 5:
|
|
speaker = row[4]
|
|
dialog = row[5]
|
|
if speaker or dialog:
|
|
pass # Just ensuring we don't print everything, maybe just the end.
|
|
|
|
print("--- Last 15 rows ---")
|
|
for i in range(max(0, len(values)-15), len(values)):
|
|
row = values[i]
|
|
speaker = row[4] if len(row) > 4 else ""
|
|
dialog = row[5] if len(row) > 5 else ""
|
|
if isinstance(dialog, list):
|
|
dialog = "".join([c.get('text', '') if isinstance(c, dict) else str(c) for c in dialog])
|
|
if isinstance(speaker, list):
|
|
speaker = "".join([c.get('text', '') if isinstance(c, dict) else str(c) for c in speaker])
|
|
print(f"Row {i+1}: [{speaker}] {dialog}")
|
|
except Exception as e:
|
|
print(f"Error fetching: {e}")
|