API 客户端 (Python)
Python API 客户端帮助您执行 Labii API 调用,例如认证、获取、更新、提交和删除。
使用方法
- 安装 Labii SDK
pip install labii-sdk
- 导入包
from labii_sdk.api_client import APIObject
- 初始化 API 对象
api = APIObject()
初始化 API
在初始化 API 时,可以自定义以下参数:
base_url,服务器基础 URL,默认为 https://www.labii.dev。如果您使用的是不同的数据中心,请确保更改base_url设置。api_key,用于认证的 API 密钥。organization__sid,您的组织 sid。您可以通过登录 Labii (https://www.labii.com/login/),然后进入侧边菜单 -> 设置 -> 组织 -> Sid 找到它。
api = APIObject(
base_url="https://www.labii.dev",
api_key="xxx"
organization__sid=None
)
获取列表 URL
使用此功能创建 列表视图 的 URL。
app和model(必填),用于限制 Labii 中数据类型的 App 和对象。更多信息请参见 https://docs.labii.com/api/overview#objects。level(默认为 "organization"),用于检索记录的范围。更多信息请参见 https://docs.labii.com/api/overview#levels。sid(默认为 "organization__sid"),静态且加密的 Labii 对象 ID。它必须与层级匹配。serializer(默认为 "list"),返回数据字段的范围。更多信息请参见 https://docs.labii.com/api/overview#serializer。- name,仅返回 sid 和 name,速度非常快
- list,返回对象的选定字段,速度较快
- detail,返回对象的所有字段,速度较慢
query(可选),附加查询以限制结果。
url = api.get_list_url(
app="tables",
model="section",
level="organization",
sid="xxx",
serializer='list',
query="is_archived=false"
)
# It can be simplified as:
url = api.get_list_url(
app="tables",
model="section"
)
获取详情 URL
使用此功能创建 详情视图 的 URL。
app和model(必填),与上述相同sid(必填),对象的 sid。query(可选),在查询时传递附加参数。
url = api.get_detail_url(
app="tables",
model="section",
sid="xxx",
query=""
)
获取请求头
返回 API 功能所需的请求头。
is_authorized(默认为True),如需使用不带认证信息的请求头,请设置is_authorized=False。
headers = api.get_headers(
is_authorized=True
)
登录
获取认证令牌。
api.login()- 如果用户尚未提供凭证,将提示用户输入电子邮件/密码。
- 如果已经提供了电子邮件或密码,将获得新的令牌。
api.login(email=xxx, password=xxx)- 使用提供的电子邮件/密码登录。
检查令牌
Labii 强制执行 过度会话超时 安全策略(美国 CNSS - CNSSI No. 1253 第 AC-11 节)。如果您的账户在 30 分钟内没有活动,将被注销。如果您的应用程序持续运行或在 30 分钟无活动后执行查询,请调用此函数生成新的令牌。
注意: 要使该功能正常工作,您必须首先运行 api.login()。
labii.check_token()
提交
用于 Labii API 的 POST 请求函数。
url(str),要提交的 URL。使用get_list_url生成标准 URL。data(dict),要提交的 JSON 字典数据。更多信息请参见 https://docs.labii.com/api/methodsis_authorized(默认为True),是否使用授权令牌。
api.post(
url="xxx",
data={},
is_authorized=True
)
更新
用于 Labii API 的 PATCH 请求函数。
url(str),要提交的 URL。使用get_detail_url生成标准 URL。data(dict),要提交的 JSON 字典数据。更多信息请参见 https://docs.labii.com/api/methodsis_authorized(默认为True),是否使用授权令牌。
api.patch(
url="xxx",
data={},
is_authorized=True
)
获取
用于 Labii API 的 GET 请求函数。
url(str),要提交的 URL。使用get_list_url或get_detail_url生成标准 URL。all_pages(bool, 默认=False),是否返回所有页面。当为 False 时,仅返回第一页的数据。仅适用于列表视图。is_authorized(默认为True),是否使用授权令牌。
api.get(
url="xxx",
all_pages=False
is_authorized=True
)
删除
用于 Labii API 的 DELETE 请求函数。
url(str),要提交的 URL。使用get_detail_url生成标准 URL。is_authorized(默认为True),是否使用授权令牌。
api.delete(
url="xxx",
is_authorized=True
)