公告
api-gateway 功能上线已经有一段时间了。
自2026年3月1日起,旧版 https://dtable-db.seatable.cn 提供的 API 将不再提供服务,请在访问该地址的代码逻辑中进行以下更新。
如果您使用 Python SDK 访问 SeaTable,建议您更新到最新版本,并使用 seatable-api 的 Base 类进行查询和操作。
如果您自行实现 API 访问,建议您将旧的 API 替换为 api-gateway 提供的对应的 API (以 https://cloud.seatable.cn/api-gateway/ 为 URL 开头的 API) 。
更换样例
SQL 查询
请求 https://dtable-db.seatable.cn/
curl -L 'https://dtable-db.seatable.cn/api/v1/query/210224ad-c891-4906-be4d-fe80215e7b0a/' \
-H 'Authorization: Token eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3NjU1OTg5MjcsImR0YWJsZV91dWlkIjoiMjEwMjI0YWQtYzg5MS00OTA2LWJlNGQtZmU4MDIxNWU3YjBlIiwicGVybWlzc2lvbiI6InJ3Iiwib3JnX2lkIjo3Nywib3duZXJfaWQiOiIzYjZmYmRmNGViZmI0NTgzOTk5MGE4MTJjYWNkOWNlOUBhdXRoLmxvY2FsIiwidXNlcm5hbWUiOiIzYjZmYmRmNGViZmI0NTgzOTk5MGE4MTJjYWNkOWNlOUBhdXRoLmxvY2FsIiwiaWRfaW5fb3JnIjoiIiwidXNlcl9kZXBhcnRtZW50X2lkc19tYXAiOnsiY3VycmVudF91c2VyX2RlcGFydG1lbnRfaWRzIjpbMTE4Nl0sImN1cnJlbnRfdXNlcl9kZXBhcnRtZW50X2FuZF9zdWJfaWRzIjpbMTE4NiwxNDMyLDI3MTJdfX0.OckHt2U8d3qzM-VjI6yIkuN9zESrHV9JkufcI-abcde' \
-H 'Content-Type: application/json' \
-d '{
"sql": "SELECT * FROM Table1"
}'
Python
from seatable_api import Base
api_token = '8549370fe559a32d8cdb5adc14badee7069bea88'
server_url = 'https://cloud.seatable.cn'
base = Base(api_token, server_url)
base.auth()
rows = base.query('SELECT * FROM Table1', convert=False)
请求 https://cloud.seatable.cn/api-gateway/
curl -L 'https://cloud.seatable.cn/api-gateway/api/v2/dtables/210224ad-c891-4906-be4d-fe80215e7b0a/sql/' \
-H 'Authorization: Token eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3NjU1OTg5MjcsImR0YWJsZV91dWlkIjoiMjEwMjI0YWQtYzg5MS00OTA2LWJlNGQtZmU4MDIxNWU3YjBlIiwicGVybWlzc2lvbiI6InJ3Iiwib3JnX2lkIjo3Nywib3duZXJfaWQiOiIzYjZmYmRmNGViZmI0NTgzOTk5MGE4MTJjYWNkOWNlOUBhdXRoLmxvY2FsIiwidXNlcm5hbWUiOiIzYjZmYmRmNGViZmI0NTgzOTk5MGE4MTJjYWNkOWNlOUBhdXRoLmxvY2FsIiwiaWRfaW5fb3JnIjoiIiwidXNlcl9kZXBhcnRtZW50X2lkc19tYXAiOnsiY3VycmVudF91c2VyX2RlcGFydG1lbnRfaWRzIjpbMTE4Nl0sImN1cnJlbnRfdXNlcl9kZXBhcnRtZW50X2FuZF9zdWJfaWRzIjpbMTE4NiwxNDMyLDI3MTJdfX0.OckHt2U8d3qzM-VjI6yIkuN9zESrHV9JkufcI-abcde' \
-H 'Content-Type: application/json' \
-H 'Cookie: SERVERID=509ccc194faebb5f06ddb03e1096529e|1765340328|1765340328' \
-d '{
"sql": "SELECT * FROM Table1"
}'
批量更新行
请求 https://dtable-db.seatable.cn
curl -L -X PUT 'https://dtable-db.seatable.cn/api/v1/update-rows/210224ad-c891-4906-be4d-fe80215e7b0a/' \
-H 'Authorization: Token eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3NjU1OTg5MjcsImR0YWJsZV91dWlkIjoiMjEwMjI0YWQtYzg5MS00OTA2LWJlNGQtZmU4MDIxNWU3YjBlIiwicGVybWlzc2lvbiI6InJ3Iiwib3JnX2lkIjo3Nywib3duZXJfaWQiOiIzYjZmYmRmNGViZmI0NTgzOTk5MGE4MTJjYWNkOWNlOUBhdXRoLmxvY2FsIiwidXNlcm5hbWUiOiIzYjZmYmRmNGViZmI0NTgzOTk5MGE4MTJjYWNkOWNlOUBhdXRoLmxvY2FsIiwiaWRfaW5fb3JnIjoiIiwidXNlcl9kZXBhcnRtZW50X2lkc19tYXAiOnsiY3VycmVudF91c2VyX2RlcGFydG1lbnRfaWRzIjpbMTE4Nl0sImN1cnJlbnRfdXNlcl9kZXBhcnRtZW50X2FuZF9zdWJfaWRzIjpbMTE4NiwxNDMyLDI3MTJdfX0.OckHt2U8d3qzM-VjI6yIkuN9zESrHV9JkufcI-abcde' \
-H 'Content-Type: application/json' \
-d '{
"table_name": "Table1",
"updates": [
{
"row_id": "K0_jmS8NQ2CyuVKH2PHY2g",
"row": {
"Name": "aabbcc"
}
},
{
"row_id": "UNw1ak0rRiGjpzsSFnWqBw",
"row": {
"Name": "ddeeff"
}
}
]
}'
Python
from seatable_api import Base
api_token = '8549370fe559a32d8cdb5adc14badee7069bea88'
server_url = 'https://cloud.seatable.cn'
base = Base(api_token, server_url)
base.auth()
rows = base.batch_update_rows('Table1', [
{
"row_id": "K0_jmS8NQ2CyuVKH2PHY2g",
"row": {
"Name": "aabbcc"
}
},
{
"row_id": "UNw1ak0rRiGjpzsSFnWqBw",
"row": {
"Name": "ddeeff"
}
}
])
请求 https://cloud.seatable.cn/api-gateway/
curl -L -X PUT 'https://cloud.seatable.cn/api-gateway/api/v2/dtables/210224ad-c891-4906-be4d-fe80215e7b0a/rows/' \
-H 'Authorization: Token eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3NjU1OTg5MjcsImR0YWJsZV91dWlkIjoiMjEwMjI0YWQtYzg5MS00OTA2LWJlNGQtZmU4MDIxNWU3YjBlIiwicGVybWlzc2lvbiI6InJ3Iiwib3JnX2lkIjo3Nywib3duZXJfaWQiOiIzYjZmYmRmNGViZmI0NTgzOTk5MGE4MTJjYWNkOWNlOUBhdXRoLmxvY2FsIiwidXNlcm5hbWUiOiIzYjZmYmRmNGViZmI0NTgzOTk5MGE4MTJjYWNkOWNlOUBhdXRoLmxvY2FsIiwiaWRfaW5fb3JnIjoiIiwidXNlcl9kZXBhcnRtZW50X2lkc19tYXAiOnsiY3VycmVudF91c2VyX2RlcGFydG1lbnRfaWRzIjpbMTE4Nl0sImN1cnJlbnRfdXNlcl9kZXBhcnRtZW50X2FuZF9zdWJfaWRzIjpbMTE4NiwxNDMyLDI3MTJdfX0.OckHt2U8d3qzM-VjI6yIkuN9zESrHV9JkufcI-abcde' \
-H 'Content-Type: application/json' \
-H 'Cookie: SERVERID=509ccc194faebb5f06ddb03e1096529e|1765344264|1765340328' \
-d '{
"table_name": "Table1",
"updates": [
{
"row_id": "K0_jmS8NQ2CyuVKH2PHY2g",
"row": {
"Name": "aabbcc"
}
},
{
"row_id": "UNw1ak0rRiGjpzsSFnWqBw",
"row": {
"Name": "ddeeff"
}
}
]
}'
参考资料
Python 编程手册: 引言 - SeaTable 编程手册
SeaTable API: Introduction