发送到 API 的每个请求,都必须表明是谁在发起请求,以及它有权访问哪个组织下的引擎。Lingo.dev 的做法很简单:每个请求都带上一个请求头 X-API-Key。不需要交换令牌,不需要会话,也不用为 OAuth 流程额外写脚本——无论是同步的 localize 调用,还是异步任务提交,带上的都是同一个请求头。
不过,在你发起第一次调用前,有一点很值得先了解:这个密钥是组织级的,而且只会显示一次。本页会介绍这个请求头长什么样、这把密钥能访问什么范围,以及应该把它保存在哪里。如果想了解请求头错误时 API 会返回什么,请参见 错误与状态码。
刚开始接触 API?
建议先看 概览,了解基础 URL 和引擎模型。本页默认你已经在控制台拿到了 API 密钥,现在只需要知道该如何发送它。
请求头#
每个请求都要在 X-API-Key 请求头中传入你的密钥:
X-API-Key: your_api_key放到实际上下文里看也是一样——无论同步还是异步,所有端点使用的都是同一个请求头:
curl https://api.lingo.dev/jobs/localization \
-H "X-API-Key: your_api_key" \
-H "Content-Type: application/json" \
-d '{
"sourceLocale": "en",
"targetLocales": ["de", "ja"],
"data": { "greeting": "Welcome aboard" }
}'密钥正确时,会返回该端点的正常响应——这里返回的是一个带有 groupId 的 202。如果请求头缺失或无效,则会返回 401;关于这个响应以及其他状态码,请查看 错误 页面。
一把密钥能访问什么#
密钥归属于组织,而不是某一个单独的引擎。一把密钥就能访问该组织下的所有本地化引擎,因此你不需要为每个引擎分别生成凭证——无论目标是营销引擎还是文档引擎,同一个 X-API-Key 都能用;如果希望命中组织默认引擎,也可以省略 engineId。
这种访问范围很方便,但也正因如此更需要谨慎:一旦密钥泄露,组织能访问的所有内容都会暴露出去。因此,请像对待任何生产环境密钥一样对待它。通过环境变量或密钥管理器加载,绝不要提交到代码仓库,并且只放在服务端——这个密钥用于验证后端发起的调用,而不是浏览器端那种任何人都能看到的环境。这个规则同样适用于实时 WebSocket 接口:它也是用同一个密钥来验证身份,所以这类连接也应该由服务端发起。
你可以在控制台的 API Keys 页面生成和管理密钥。
只显示一次,错过就拿不回来了#
密钥只会在创建时显示一次。关闭该对话框后,就无法再次查看。
离开页面前,先复制好你的密钥
API 密钥只会在创建时显示一次。密钥一出现,就应立刻保存到密钥管理器或环境变量中——之后无法找回。如果密钥丢失,或你怀疑它已经泄露,请前往 API Keys 控制台生成新密钥。
在这件事上,最省事的做法和最安全的做法其实完全一致:在创建时就把密钥妥善保存好,既最快,也能避免生产环境集成因为凭证没人能重新查看而卡住。
下一步#
现在,你已经可以为任何调用完成身份验证了。接下来最适合一起了解的有两件事:请求被拒绝时会返回什么,以及这个请求头能解锁哪些端点。
