ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Automatisch 接入 DeepL:连接配置、认证原理与翻译工作流实战

Automatisch 接入 DeepL:连接配置、认证原理与翻译工作流实战 Automatisch 接入 DeepL连接配置、认证原理与翻译工作流实战【免费下载链接】automatischThe open source Zapier alternative. Build workflow automation without spending time and money.项目地址: https://gitcode.com/GitHub_Trending/au/automatischDeepL 是 Automatisch 内置的可连接应用之一通过 API KeyAuthentication Key即可建立连接随后在自动化工作流中调用「Translate text翻译文本」动作完成多语言翻译。本文以官方连接文档为基础结合仓库内 DeepL 应用模块的源码实现完整讲解从申请 API Key、创建连接、到配置翻译动作的全过程并深入剖析连接验证与请求认证的底层机制帮助你快速搭建可用的多语言自动化流水线。前提获取 DeepL API Authentication Key在 Automatisch 中建立 DeepL 连接前需要先拥有一个 DeepL 账户及对应的 API 密钥。操作如下登录 DeepL 官网进入账户Account页面在页面中向下滚动找到Authentication Key for DeepL API一栏复制该密钥它是后续连接时必填的凭据。该密钥是 DeepL 识别调用方的唯一凭证请妥善保管。从仓库实现看它会被写入连接记录并在每次请求 DeepL API 时以DeepL-Auth-Key请求头形式携带详见下文「认证头注入」小节泄露等同于他人可代为消耗你的翻译配额。在 Automatisch 中创建 DeepL 连接官方连接文档给出的连接步骤非常简洁完整流程如下打开 Automatisch 的 Connections连接页面选择DeepL应用将上一步复制的Authentication Key for DeepL API粘贴到Authentication Key输入框中在Screen Name输入框中填写任意显示名称用于在 Automatisch 界面中标识这条连接点击Save保存连接校验通过后即可在任意工作流中选用 DeepL 的翻译动作。保存时Automatisch 会先对密钥发起一次真实校验调用 DeepL 的/v2/usage接口只有校验成功才会保存并建立连接。源码剖析DeepL 连接背后的实现连接字段定义DeepL 连接的输入字段定义在 auth/index.js共两个必填字段字段 key标签类型必填说明screenNameScreen Namestring是连接在 Automatisch 界面中的显示名称authenticationKeyAuthentication Keystring是DeepL 账户的 API 认证密钥两个字段均声明为required: true这意味着在 Automatisch 界面中不填写完整便无法保存连接。凭据验证机制verifyCredentials是连接保存时的核心校验逻辑位于 verify-credentials.jsconst verifyCredentials async ($) { await $.http.get(/v2/usage); await $.auth.set({ screenName: $.auth.data.screenName, }); }; export default verifyCredentials;关键点有二它通过调用 DeepL 的GET /v2/usage接口来验证密钥有效性——该接口在密钥错误时会返回 4xx从而让 Automatisch 判定连接失败并拒绝保存校验通过后仅把screenName写入认证数据authenticationKey并不回写进$.auth.data但会通过beforeRequest拦截器在每次请求时读取原始输入。此外is-still-verified.js 直接复用verifyCredentials作为连接的持续可用性检查Automatisch 会据此判断这条连接是否仍然有效例如密钥被吊销后连接会被标记为失效。认证头注入应用定义文件 index.js 中通过beforeRequest: [addAuthHeader]为所有 API 请求统一注入认证信息。具体的实现位于 common/add-auth-header.jsconst addAuthHeader ($, requestConfig) { if ($.auth.data?.authenticationKey) { const authorizationHeader DeepL-Auth-Key ${$.auth.data.authenticationKey}; requestConfig.headers.Authorization authorizationHeader; } return requestConfig; };即一旦存在authenticationKey就在请求头中加入Authorization: DeepL-Auth-Key 你的密钥这正是 DeepL API 要求的鉴权格式。同时应用定义的apiBaseUrl: https://api.deepl.com指定了所有请求的根地址因此后续动作中写的/v2/translate实际会请求 DeepL 官方的翻译接口。连接建立后的实战配置翻译动作连接保存成功后即可在 Automatisch 工作流编辑器中添加 DeepL 的Translate text动作。动作定义位于 actions/translate-text/index.js包含两个必填参数参数key类型说明Texttextstring支持变量待翻译的文本内容Target LanguagetargetLanguagedropdown支持变量目标语言代码如EN、ZH、JA动作的执行逻辑如下async run($) { const stringifiedBody qs.stringify({ text: $.step.parameters.text, target_lang: $.step.parameters.targetLanguage, }); const response await $.http.post(/v2/translate, stringifiedBody); $.setActionItem({ raw: response.data, }); }它会把参数以application/x-www-form-urlencoded格式 POST 到/v2/translate并将 DeepL 返回的完整 JSON 作为动作输出供下游步骤如通知、存储、二次加工引用。支持的 31 种目标语言Target Language下拉框中内置了 31 个选项完整覆盖 DeepL 常用语言直接来自 translate-text/index.js 的options数组BG保加利亚语、ZH简体中文、CS捷克语、DA丹麦语、NL荷兰语、EN英语、EN-US美式英语、EN-GB英式英语、ET爱沙尼亚语、FI芬兰语、FR法语、DE德语、EL希腊语、HU匈牙利语、ID印度尼西亚语、IT意大利语、JA日语、LV拉脱维亚语、LT立陶宛语、PL波兰语、PT葡萄牙语、PT-BR巴西葡萄牙语、PT-PT除巴西外的所有葡萄牙语变体、RO罗马尼亚语、RU俄语、SK斯洛伐克语、SL斯洛文尼亚语、ES西班牙语、SV瑞典语、TR土耳其语、UK乌克兰语。得益于variables: truetext与targetLanguage均可绑定上游步骤的输出变量因此很容易构建诸如「收到英文邮件 → 自动翻译成中文 → 发送到企业微信/钉钉群」的完整自动化链路。常见问题与排障保存连接时提示校验失败通常是Authentication Key复制不完整或密钥已失效。可回到 DeepL 账户页重新复制确认前后无多余空格后重试。校验失败的根因是 Automatisch 调用了GET /v2/usage密钥无效时该接口不会返回 2xx。请求报错 / 认证失败确认连接中的authenticationKey未被改动或吊销每次调用都会由 add-auth-header.js 重新生成DeepL-Auth-Key头若密钥在 DeepL 端失效该请求会立即被拒绝。Screen Name 的作用它仅用于在 Automatisch 界面中区分多条 DeepL 连接例如区分「开发环境」与「生产环境」不影响翻译功能本身。小结Automatisch 的 DeepL 集成由 connection.md 文档定义了最简连接流程获取密钥 → 填写两个必填字段 → 保存即可使用而 auth/ 下的源码则保证了连接从保存到长期使用的可靠性与安全性。配合内置的翻译动作actions/translate-text/index.js你可以在不写一行业务代码的情况下把高质量机器翻译接入到自己的自动化工作流中。【免费下载链接】automatischThe open source Zapier alternative. Build workflow automation without spending time and money.项目地址: https://gitcode.com/GitHub_Trending/au/automatisch创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表