如何使用 Gibbon (rails wrapper) 直接访问 Mailchimp 上的 body 变量

Posted

技术标签:

【中文标题】如何使用 Gibbon (rails wrapper) 直接访问 Mailchimp 上的 body 变量【英文标题】:How can I get direct access to body variable on Mailchimp, using Gibbon (rails wrapper) 【发布时间】:2017-06-16 17:44:11 【问题描述】:

我们正在尝试检查列表中的特定成员是否已订阅或取消订阅。我们试过了

gibbon.lists(list_id).members(lower_case_md5_hashed_email_address).retrieve

这个。然而,代码的哈希返回是用“Gibbon::Response”包装的。我怎样才能直接访问哈希本身?或者甚至可以访问它?

【问题讨论】:

你添加params了吗?这是直接来自长臂猿GIT:gibbon.lists(list_id).members.retrieve(params: "count": "50", "offset": "50", "status": "subscribed") 是的,我也试过了。虽然,我得到的数据包含在#<Gibbon::Response: ... @body="id"=>".....", "email_address"=>"......", ..., "status"=>"subscribed" 中,但是我想得到subscribed 作为回报。我该怎么做?...@scoopzilla 那是API的响应?然后订阅会员。 @scoopzilla 是的...我知道,但我想让 Rails 自己判断它。据我了解,要做到这一点,我需要将status 值作为subscribedunsubscribed 的返回值。问题是我不知道如何访问#<Gibbon::Response: ... 括号内的status 值。这个问题是否有意义? 该死,这正是我想要的。有人知道吗? 【参考方案1】:

在寻找这个问题的答案一段时间后,我没有找到答案,我只是测试并玩弄了我的代码,最终想出了解决方案。它看起来像这样:

Gibbon::Request.lists(list_id).members(user_email).retrieve.body["status"]

在你的情况下,它看起来像这样:

gibbon.lists(list_id).members(lower_case_md5_hashed_email_address).retrieve.body["status"]

这也意味着您可以从正文中检索任何信息。比如email_address merge_fields等等。

只是为了让其他人清楚,list_id是您可以在 mailchimp 仪表板中找到的受众 ID。它基本上是一个自动生成的字符串,用于标识您创建的邮件列表。

还有user_email 只是引号中的电子邮件地址。

【讨论】:

以上是关于如何使用 Gibbon (rails wrapper) 直接访问 Mailchimp 上的 body 变量的主要内容,如果未能解决你的问题,请参考以下文章

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

未初始化的常量 Gibbon::Request (NameError)

为啥 Gibbon Gem 可以访问 API 但不能 listSubscribe()?

为啥长臂猿会抛出“未初始化的常量 Gibbon::API (NameError)”

如何通过 Gibbon Export API 调用为 Mailchimp 传递过滤器

如何使用 Mailchimp API 3.0 和 Gibbon 2.x 订阅新用户