
Automatisch 连接 MailchimpOAuth 应用注册与连接配置实战指南【免费下载链接】automatischThe open source Zapier alternative. Build workflow automation without spending time and money.项目地址: https://gitcode.com/GitHub_Trending/au/automatisch本篇技术指南以 Automatisch 官方文档中 Mailchimp 连接配置说明 为主体完整讲解从在 Mailchimp 侧注册 OAuth 应用、填写重定向地址与客户端凭证到在 Automatisch 中完成连接并应用于自动化流程的每一步操作。读完本文你将掌握 Mailchimp 连接在 Automatisch 中的完整配置流程、底层 OAuth 2.0 授权实现原理以及连接后可用于流程的动作与触发器清单。Mailchimp 连接概览Mailchimp 是 Automatisch 中一个支持连接Connection的官方应用。在 Automatisch 中连接指的是将你在第三方服务此处为 Mailchimp的账号凭证安全地关联到 Automatisch从而让工作流中的触发器和动作能够以你的身份调用该服务的 API。从 Mailchimp 应用定义 可以看出该应用的关键配置如下export default defineApp({ name: Mailchimp, key: mailchimp, baseUrl: https://mailchimp.com, apiBaseUrl: , iconUrl: {BASE_URL}/apps/mailchimp/assets/favicon.svg, authDocUrl: {DOCS_URL}/apps/mailchimp/connection, primaryColor: #000000, supportsConnections: true, beforeRequest: [setBaseUrl, addAuthHeader], auth, triggers, dynamicData, actions, });其中supportsConnections: true表明该应用需要先建立连接才能使用beforeRequest中注册了setBaseUrl与addAuthHeader两个请求拦截器前者根据账号的数据中心datacenter前缀拼接 API 基础地址后者为每次 API 请求附加Bearer类型的访问令牌。authDocUrl则直接指向本文对应的文档页面。第一步在 Mailchimp 侧注册应用连接使用 Mailchimp 的 OAuth 2.0 授权流程因此你首先需要在 Mailchimp 中创建一个应用App以获取客户端凭证。按照官方 连接文档 的指引操作步骤如下登录你的 Mailchimp 账户进入后台。点击页面右上角的账户头像进入你的Profile个人资料页面。在个人资料页中点击Extras选项卡然后选择Registered apps已注册应用。点击Register An App注册应用按钮进入应用注册表单。填写注册表单中的相关信息如应用名称、描述等。将 Automatisch 中提供的OAuth Redirect URL复制到表单的Redirect URI字段中然后点击Create创建按钮完成应用创建。创建完成后将页面显示的Your Client ID值复制到 Automatisch 连接表单的Client ID字段。将Your Client Secret值复制到 Automatisch 连接表单的Client Secret字段。在 Automatisch 页面点击Submit提交按钮。恭喜连接建立成功即可在流程中开始使用该 Mailchimp 连接。认识 Automatisch 侧的三个关键字段当你在 Automatisch 中为 Mailchimp 添加连接时连接表单由 auth/index.js 中的fields数组定义共包含三个字段字段 Key标签类型必填只读说明oAuthRedirectUrlOAuth Redirect URLstring是是readOnly: true由系统自动填充为{WEB_APP_URL}/app/mailchimp/connections/add并带clickToCopy: true可直接一键复制填入 Mailchimp 的 Redirect URIclientIdClient IDstring是否填入 Mailchimp 注册应用后获得的 Client IDclientSecretClient Secretstring是否填入 Mailchimp 注册应用后获得的 Client Secret其中oAuthRedirectUrl是只读字段其真实值由运行环境中的WEB_APP_URL变量动态注入指向你当前 Automatisch 实例的app/mailchimp/connections/add路径。这意味着无论你是本地开发还是生产部署重定向地址都会自动匹配你实例的域名你只需原样复制即可。OAuth 授权链路从重定向到凭证验证连接配置表单提交后Automatisch 会依次执行授权 URL 生成与凭证验证两步其实现都位于 auth 目录下。生成授权 URLgenerate-auth-url.js 负责构造 Mailchimp 的 OAuth 授权页面地址const searchParams new URLSearchParams({ response_type: code, client_id: $.auth.data.clientId, redirect_uri: redirectUri, }); const url https://login.mailchimp.com/oauth2/authorize?${searchParams.toString()};它读取连接表单中保存的clientId与自动生成的redirectUri以authorization_code授权模式把用户引导至https://login.mailchimp.com/oauth2/authorize。用户授权后Mailchimp 会携带code回调到重定向地址。用授权码换取访问令牌verify-credentials.js 完成授权码到访问令牌的交换并向https://login.mailchimp.com/oauth2/token发起 POST 请求const params new URLSearchParams({ grant_type: authorization_code, client_id: $.auth.data.clientId, client_secret: $.auth.data.clientSecret, redirect_uri: redirectUri, code: $.auth.data.code, }); const { data } await $.http.post( https://login.mailchimp.com/oauth2/token, params.toString() );令牌换取成功后代码将access_token、token_type保存到连接数据中随后调用 get-current-user.js 请求https://login.mailchimp.com/oauth2/metadata获取当前用户信息注意该请求使用OAuth头而非Bearer头并显式跳过默认的 base URL 与鉴权头注入。根据元数据响应连接数据还会记录serverPrefix取自currentUser.dcMailchimp 分配给该账号的数据中心标识screenName取自currentUser.login.login_name账号登录名以及scope、idToken、expiresIn、refreshToken等令牌信息。连接状态校验is-still-verified.js 用于在连接被使用时校验其有效性它会重新请求 metadata 接口只要能取到user_id就认为连接仍然有效。如果令牌失效Automatisch 会提示你重新授权。请求拦截器连接如何作用于每次 API 调用连接建立后所有 Mailchimp 动作与触发器的 API 请求都会经过 index.js 中beforeRequest注册的两个拦截器set-base-url.js从连接数据读取serverPrefix将请求的baseURL动态设置为https://${serverPrefix}.api.mailchimp.com。由于 Mailchimp 的 API 域名按账号所属数据中心如us1、us2等区分这一步保证了请求总能发往正确的数据中心节点add-auth-header.js当连接数据中存在accessToken时为请求头附加Authorization: Bearer accessToken。两个拦截器都支持通过additionalPropertiesskipAddingBaseUrl、skipAddingAuthHeader跳过默认行为例如 metadata 请求就需要自行使用OAuth头。连接可用的动作与触发器建立连接后你可以在流程编辑器中基于该连接添加 Mailchimp 的动作与触发器。依据 动作清单 与 触发器清单可用能力如下动作Actions动作名功能说明Create campaign创建新的营销活动草稿Send campaign发送一份营销活动草稿其实现分别位于 actions/create-campaign/index.js 与 actions/send-campaign/index.js。触发器Triggers触发器名触发时机Email opened收件人打开某个营销活动中的邮件时触发New subscribers有新的订阅者被添加到受众Audience时触发New unsubscribers已有订阅者退订某个受众时触发实现分别位于 triggers 目录下的email-opened、new-subscribers、new-unsubscribers子目录。此外dynamic-data 目录还提供了list-audiences、list-campaigns、list-segments-or-tags、list-templates四类动态数据加载器用于在配置动作参数时以下拉形式拉取你账号下的受众、活动、分组/标签与模板例如在创建活动时选择目标受众。常见问题与排查要点Redirect URI 不匹配确保 Automatisch 上的OAuth Redirect URL与 Mailchimp 应用注册表单中的Redirect URI完全一致包括末尾路径否则授权回调会被 Mailchimp 拒绝。凭证填写位置Client ID与Client Secret分别对应 Mailchimp Registered apps 页面展示的Your Client ID与Your Client Secret两者不可互换或混填。连接失效访问令牌过期或用户撤销授权后连接校验isStillVerified会失败此时需要重新执行授权流程。连接数据中的refreshToken已被保存为令牌刷新机制的实现保留了数据基础。数据中心前缀不同 Mailchimp 账号可能位于不同数据中心serverPrefix由 metadata 接口自动获取因此你无需手工指定 API 域名Automatisch 会通过setBaseUrl自动拼接。综上Mailchimp 连接的配置本质上是标准的 OAuth 2.0 授权码流程在 Mailchimp 注册应用拿到客户端凭证 → 在 Automatisch 填写凭证并复制重定向地址 → 授权后自动换取并保存令牌与数据中心信息 → 连接即可被流程中的动作与触发器复用。【免费下载链接】automatischThe open source Zapier alternative. Build workflow automation without spending time and money.项目地址: https://gitcode.com/GitHub_Trending/au/automatisch创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考