Этот скрипт получает актуальные биржевые котировки через API Twelve Data и записывает цены в таблицу SeaTable. Он демонстрирует, как вызывать внешние API из скрипта Python в SeaTable. Скрипт обрабатывает все строки и подходит для ручного запуска или как запланированная автоматизация.

Stock Prices in SeaTable

  • Бесплатный API-ключ от Twelve Data
  • Таблица со столбцами Symbol (текст) и Price (число)

Введите свой API-ключ в API_KEY. Скрипт проверяет, установлен ли действительный ключ, и немедленно прерывается при ошибке API.

from seatable_api import Base, context
import requests

base = Base(context.api_token, context.server_url)
base.auth()

TABLE_NAME = "Stocks"
API_KEY = "your-api-key"

if API_KEY == "your-api-key":
    print("ERROR: Please set your Twelve Data API key first.")
    print("Get a free key at https://twelvedata.com/")
else:
    rows = base.list_rows(TABLE_NAME)
    for row in rows:
        symbol = row.get('Symbol')
        if not symbol:
            continue

        url = f"https://api.twelvedata.com/price?symbol={symbol}&apikey={API_KEY}"
        response = requests.get(url)
        data = response.json()

        if 'price' in data:
            base.update_row(TABLE_NAME, row['_id'], {
                'Price': float(data['price'])
            })
            print(f"{symbol}: {data['price']}")
        else:
            print(f"API error: {data.get('message', 'unknown error')}")
            break

    print("---")
    print("Stock prices updated.")

Вы можете заменить API Twelve Data на любого другого поставщика финансовых данных. Адаптируйте URL и обработку ответа соответственно.

Полный справочник функций доступен в SeaTable Developer Manual .