[ PROMPT_NODE_26704 ]
labarchive-integration
[ SKILL_DOCUMENTATION ]
# LabArchives 集成
## 概述
LabArchives 是一个用于研究文档和数据管理的电子实验记录本平台。通过 REST API,可以程序化地访问记录本、管理条目和附件、生成报告并与第三方工具集成。
## 何时使用此技能
当需要执行以下操作时,应使用此技能:
- 使用 LabArchives REST API 进行记录本自动化
- 程序化备份记录本
- 创建或管理记录本条目和附件
- 生成站点报告和分析
- 将 LabArchives 与第三方工具(Protocols.io, Jupyter, REDCap)集成
- 自动化上传数据到电子实验记录本
- 程序化管理用户访问权限
## 核心能力
### 1. 身份验证与配置
设置 API 访问凭据和 LabArchives API 集成的区域端点。
**先决条件:**
- 已启用 API 访问权限的 LabArchives 企业版许可证
- 从 LabArchives 管理员处获取的 API 访问密钥 ID 和密码
- 用户身份验证凭据(电子邮件和外部应用程序密码)
**配置设置:**
使用 `scripts/setup_config.py` 脚本创建配置文件:
bash
python3 scripts/setup_config.py
这将创建一个包含以下结构的 `config.yaml` 文件:
yaml
api_url: https://api.labarchives.com/api # 或区域端点
access_key_id: YOUR_ACCESS_KEY_ID
access_password: YOUR_ACCESS_PASSWORD
**区域 API 端点:**
- 美国/国际:`https://api.labarchives.com/api`
- 澳大利亚:`https://auapi.labarchives.com/api`
- 英国:`https://ukapi.labarchives.com/api`
有关详细的身份验证说明和故障排除,请参阅 `references/authentication_guide.md`。
### 2. 用户信息检索
获取后续 API 操作所需的用户 ID (UID) 和访问信息。
**工作流:**
1. 使用登录凭据调用 `users/user_access_info` API 方法
2. 解析 XML/JSON 响应以提取用户 ID (UID)
3. 使用 UID 通过 `users/user_info_via_id` 检索详细用户信息
**使用 Python 包装器的示例:**
python
from labarchivespy.client import Client
# 初始化客户端
client = Client(api_url, access_key_id, access_password)
# 获取用户访问信息
login_params = {'login_or_email': user_email, 'password': auth_token}
response = client.make_call('users', 'user_access_info', params=login_params)
# 从响应中提取 UID
import xml.etree.ElementTree as ET
uid = ET.fromstrin