用途
该技能用于 Domo Custom Connector IDE 项目,帮助开发者构建自定义 Domo 连接器(数据连接器或回写连接器),以便将外部 API 和数据源集成到 Domo 中。
范围说明:该技能仅适用于 Domo Custom Connector IDE 项目,不适用于 Domo App Platform 的自定义应用/卡片构建。自定义连接器通过 Custom Connector IDE 发布后在服务端运行。
主要能力
技能提供以下开发模式与规则:
- 文件结构:自定义连接器由 JavaScript 文件组成,包括 authentication.js(验证凭据并与外部 API 认证)、dataProcessing.js(从外部 API 获取并处理数据)、README.md(记录连接器可用的报告/参数)。所有文件均使用 JavaScript(.js)。
- 认证模式:验证输入格式(如 token 格式),添加请求头,通过简单 API 调用测试认证,并根据状态码调用 auth.authenticationSuccess() 或 auth.authenticationFailed()。
- 数据处理模式:设置请求头,根据报告选择确定端点,获取并处理数据,支持分页(通过响应中的分页链接循环请求),使用 datagrid.magicParseJSON() 将 JSON 数组解析为 Domo 数据集。
- 错误处理:检查 HTTP 状态码,在非 200 时尝试解析错误消息并抛出清晰错误。
使用方式
前置条件:
- 拥有 Domo Custom Connector IDE 的访问权限
- 理解要集成的外部 API
- 掌握 JavaScript 知识(连接器使用 JavaScript 编写)
开发时遵循技能中给出的模式编写 authentication.js 和 dataProcessing.js,并编写 README.md 记录可用报告和参数。
适用场景
适用于需要将外部 API 或数据源集成到 Domo 的自定义连接器开发,包括数据连接器和回写连接器。
限制与注意事项
- 不适用于 Domo App Platform 的自定义应用/卡片构建。
- 输入清理:始终清理输入(如 API 密钥),防止跨站脚本和 SQL 注入攻击。
- 列一致性:数据集中的每一行必须具有相同的列数(缺失值使用 null)。
- 使用 Domo 提供的 JavaScript 库:这些方法由 Domo 在 Connector Dev Studio 中提供,可参考 https://developer.domo.com/portal/e415bb99d21b2-reference 。
- JSON 解析:当 API 返回 JSON 数组时,使用 datagrid.magicParseJSON(jsonString) 而非手动解析。
- 错误消息:在 auth.authenticationFailed() 中提供清晰、可操作的错误消息。
检查清单
- authentication.js 验证输入格式并测试凭据
- authentication.js 适当调用 auth.authenticationSuccess() 或 auth.authenticationFailed()
- dataProcessing.js 正确处理分页
- dataProcessing.js 在解析 JSON 前检查 HTTP 状态码
- dataProcessing.js 对 JSON 数组使用 datagrid.magicParseJSON()
- 所有输入均经过清理以防止安全漏洞
- 错误处理提供清晰消息
- README.md 记录所有可用报告/参数
- 所有行具有一致的列数