Account¶
Account 类提供了操作全局 API 的接口,包括
- 列出所有的 Workspace
- 新增/复制/删除 Base
- 获取单个 Base 的访问权限
认证¶
使用 邮箱/密码 进行认证,在调用 Account 提供的 API 前,需要先进行认证
例子¶
from seatable_api import Account
username = 'xiongxxx@xxx.com'
password = 'xxxxxxx'
server_url = 'https://cloud.seatable.cn/'
account = Account(username, password, server_url)
account.auth()
Workspace¶
在 SeaTable 中,一个 workspace 是个人的表格的集合或者一个群组的表格的集合。Base 存储在 workspace 中。SeaTable 会为每个账号生成一个个人的 workspace, 每个群组也有一个 workspace。
List workspaces¶
获取您所有 workspace 与其下的 base
例子¶
account.list_workspaces()
返回结果
{
"workspace_list": [{
"id": 13740, # workspace的id
"repo_id": "cd9a97a6-9214-4eeb-b609-4295530b9018",
"table_list": [{ # base对象
"id": 24022,
"workspace_id": 13740,
"uuid": "69771c2e-b51e-4fe4-b721-01cd1950e68c",
"name": "q",
"creator": "122",
"modifier": "122",
"created_at": "2020-10-26T14:43:02+08:00",
"updated_at": "2020-10-26T14:43:02+08:00",
"color": null,
"text_color": null,
"icon": null,
"starred": false
}],
"owner_name": "122",
"owner_type": "Personal"
}],
"starred_dtable_list": []
}
Base¶
新增/复制/删除 Base,获取一个 Base 访问权限的接口
Add a base¶
添加一个 base 到一个 Workspace
account.add_base(name, workspace_id=None)
其中
- workspace_id: 添加到指定的工作区,如果为 None 则默认添加到自己的工作区
例子¶
account.add_base('new-base')
account.add_base('new-base', 35)
Copy a base¶
复制一个 base 到一个 workspace 中
account.copy_base(src_workspace_id, base_name, dst_workspace_id)
其中
- src_workspace_id: 源工作区 id
- dst_workspace_id: 目标工作区 id
- base_name: base 的名称
即将名为 base_name 的 base 从源工作区复制到目标工作区
例子¶
account.copy_base(35, 'img-file', 74)
Get a base¶
获取一个 base 对象
# 获取存在于 id 为 workspac_id 的 workspace 中名为 base_name 的 Base 对象
# Base对象已获得授权,所以不需要调用 base.auth()
account.get_base(workspace_id, base_name)
例子¶
base = account.get_base(35, 'img-file')