如何使用 Gibbon gem 编辑 mailchimp 列表中现有成员的电子邮件地址
Posted
技术标签:
【中文标题】如何使用 Gibbon gem 编辑 mailchimp 列表中现有成员的电子邮件地址【英文标题】:How to edit email address of existing member in mailchimp list using Gibbon gem 【发布时间】:2016-01-21 13:11:21 【问题描述】:我已经找了很久,但找不到任何答案。 在我的 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中的电子邮件还是我需要删除用户并创建一个新用户? 感谢您的帮助
【问题讨论】:
您说您可以从列表中删除人员,但您是通过会员 ID 还是通过电子邮件地址执行此操作?我找不到通过电子邮件地址进行操作的方法,这就是我所拥有的。您是否正在跟踪用户的 MailChimp ID 以用于取消订阅?如果没有,您有没有找到一种方法从列表中(通过电子邮件地址)找到用户的 ID 以便能够删除它们? 要取消订阅 MailChimp,您必须按照 Gibbon's docs 中的说明执行gibbon.lists(list_id).members(lower_case_md5_hashed_email_address).update(body: status: "unsubscribed" )
。我将lower_case_md5_hashed_email_address
作为:mc_member_id
存储在我的用户模型中。
【参考方案1】:
在网络应用程序和一些旧版本的 API 中编辑地址是可能的,但这很棘手,因为大多数地址的历史记录在更改后都不会跟随。删除或取消订阅然后添加新地址可能是最好的方法。
【讨论】:
【参考方案2】:经过一些额外的研究并联系 Mailchimp,我可以确认使用新的 api (v3.0) 无法编辑电子邮件地址,因为它是一个只读字段。 作为一种解决方案,我运行了一种专门编辑电子邮件地址的方法,该方法基本上检索 Mailchimp 中的成员(我将 mailchimp id 存储在 User 模型中的我的数据库中),将其删除并创建一个具有相同数据的新地址(例如,如果该成员取消订阅,则新成员也将取消订阅)。由于需要通过电子邮件链接确认更改的电子邮件地址(我正在使用设计),我在注册控制器中添加了一个 resque 任务来执行我的方法。希望对其他人有所帮助
【讨论】:
以上是关于如何使用 Gibbon gem 编辑 mailchimp 列表中现有成员的电子邮件地址的主要内容,如果未能解决你的问题,请参考以下文章
为啥 Gibbon Gem 可以访问 API 但不能 listSubscribe()?
rails - Gibbon mailchimp gem 将订阅者添加到列表中,但不发送确认电子邮件
未初始化的常量 Gibbon::Request (NameError)