如何使用 Gibbon gem 编辑 mailchimp 列表中现有成员的电子邮件地址

How to edit email address of existing member in mailchimp list using Gibbon gem

我已经为此找了很长时间,但找不到任何答案。 在我的 rails 4 应用程序中,我使用 Gibbon gem (v.2.0.1) 来管理 mailchimp 列表。就订阅和取消订阅用户而言,一切正常,但我无法更新订阅用户的电子邮件地址(不过我可以更改每个参数,例如名字和姓氏)。

我的更新调用类似于:

member = $gibbon.lists(list_id).members(member_id)
member.update(body: 
              { email_address: self.email,
                status: "subscribed",
                merge_fields: {FNAME: self.first_name,
                               LNAME: self.last_name}
               }
               )

我也试过 upsert 但没有成功。实际上可以在 mailchimp 中更新电子邮件,还是我需要删除用户并创建一个新用户? 感谢帮助

在 Web 应用程序和某些旧版本的 API 中可以编辑地址,但这很棘手,因为大多数地址的历史记录在更改后都不会跟进。删除或取消订阅然后添加新地址可能是最好的方法。

经过一些额外的研究并联系了 Mailchimp,我可以确认使用新的 api (v3.0) 无法编辑电子邮件地址,因为它是一个只读字段。 作为解决方案,我 运行 一种专门编辑电子邮件地址的方法,它基本上检索 Mailchimp 中的成员(我将 mailchimp id 存储在用户模型中的数据库中),删除它并创建一个新的相同的数据(例如,如果会员取消订阅,新会员也将取消订阅)。由于更改的电子邮件地址需要通过电子邮件 link 确认(我正在使用 Devise),我在注册控制器中添加了一个 resque 任务来执行我的方法。希望对别人有帮助