如何在 Node.js 中通过 mailchimp-api-v3 提交表单(添加订阅者)?

How to submit a form (add a subscriber) by mailchimp-api-v3 in Node.js?

我之前使用 a hack way by jsonp 在前端提交表单(添加订阅者)(因为 Mailchimp 只为后端提供 API)。

现在我想切换到后端以使用 Mailchimp API。我正在使用一个名为 mailchimp-api-v3 的库来简化工作。

这个列表只有三个字段,分别是FNAMEEMAILCOMPANY

const Mailchimp = require('mailchimp-api-v3');

const mailchimp = new Mailchimp(myMailchimpAPI);

mailchimp.post(`/lists/${myListId}/members`, {
  FNAME: 'Jack',
  EMAIL: 'jack@example.com',
  COMPANY: 'Apple'
})
.then(res => console.log(res))
.catch(err => console.log(err));

这给我错误:

[ { field: 'email_address', message: 'This value should not be blank.' } ] }

我在阅读 Mailchimp 后想通了 API document。 我必须添加另外两个必需的字段 email_addressstatus。然后将其余的表单字段移动到 merge_fields.

正确的代码是

const Mailchimp = require('mailchimp-api-v3');

const mailchimp = new Mailchimp(myMailchimpAPI);

mailchimp.post(`/lists/${myListId}/members`, {
  email_address: 'jack@example.com',
  status: 'subscribed',
  merge_fields: {
    FNAME: 'Jack',
    EMAIL: 'jack@example.com',
    COMPANY: 'Apple'
  }
})
.then(res => console.log(res))
.catch(err => console.log(err));

好不容易在网上找到了一个简单的demo。希望这对未来的人有所帮助。