API 客户端 (JavaScript)
Labii JavaScript SDK 是一个软件开发工具包 (SDK),为使用 Labii 平台开发 Web 应用程序提供了一套工具和库。Labii 平台是一个基于云的平台,允许研究人员管理其研究数据和工作流程,包括数据收集、存储、分析和共享。
Labii JavaScript SDK 允许开发人员将其功能和功能集成到他们的 Web 应用程序中。它包含一系列 API,允许开发人员访问和操作存储在 Labii 平台上的数据,如数据输入表单、项目管理工具和报告功能。
SDK 包含一个 JavaScript 库,提供与 Labii API 交互的高级接口。它还包括文档和示例,帮助开发人员开始使用 SDK 并将其集成到他们的应用程序中。
总体而言,Labii JavaScript SDK 为希望构建结合 Labii 平台功能和功能的 Web 应用程序的开发人员提供了一套强大的工具和资源。
使用
- 安装 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设置。email和password,用于认证的电子邮件或密码。如果没有提供电子邮件或密码,将弹出一个窗口。organization__sid,您的组织 sid。您可以通过登录 Labii (https://www.labii.com/login/) 并前往侧边菜单 -> 设置 -> 组织 -> Sid 找到它。
api = APIObject(
base_url="https://www.labii.dev",
email=None,
password=None,
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()
POST
用于 Labii API 的 POST 函数。
url(str),要发送的 URL。使用get_list_url生成标准 URL。data(dict),要发送的 JSON 字典数据。更多信息请参见 https://docs.labii.com/api/methods。is_authorized(默认为True),是否应使用授权令牌。
api.post(
url="xxx",
data={},
is_authorized=True
)
PATCH
用于 Labii API 的 PATCH 函数。
url(str),要发送的 URL。使用get_detail_url生成标准 URL。data(dict),要发送的 JSON 字典数据。更多信息请参见 https://docs.labii.com/api/methods。is_authorized(默认为True),是否应使用授权令牌。
api.patch(
url="xxx",
data={},
is_authorized=True
)
GET
用于 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
)
DELETE
用于 Labii API 的 DELETE 函数。
url(str),要发送的 URL。使用get_detail_url生成标准 URL。is_authorized(默认为True),是否应使用授权令牌。
api.delete(
url="xxx",
is_authorized=True
)