【问题标题】:Retrieve member_id with MailChimp 3.0 and Gibbon 2.x使用 MailChimp 3.0 和 Gibbon 2.x 检索 member_id
【发布时间】:2015-11-24 08:17:17
【问题描述】:

在我的应用程序的用户设置中,用户可以通过选中一个框来订阅或取消订阅 MailChimp 列表。我在检索用户 MailChimp member_id 时遇到了一些问题。

我创建了一个 .env 文件:

MAILCHIMP_API_KEY = "my_api_key"
MAILCHIMP_LIST_ID = "my_list_id"

我创建了一个名为 gibbon.rb 的初始化器:

Gibbon::Request.api_key = ENV["MAILCHIMP_API_KEY"]
Gibbon::Request.timeout = 15

我在user.rb中使用了这个方法

def mailchimp_news
  @mailchimp_list_id = ENV["MAILCHIMP_LIST_ID"]
  @gibbon = Gibbon::Request.new
  if self.news_email == true
    @gibbon.lists(@mailchimp_list_id).members.update(body: {
    email_address: self.email,
    status: "subscribed",
    merge_fields: {FNAME: self.name,
                   LNAME: ""}
    })
  elsif self.news_email == false
    @gibbon.lists(@mailchimp_list_id).members(member_id).update(body: { status: "unsubscribed" })
end

结束

并在检查后调用它

after_save :mailchimp_news

我收到此错误:undefined local variable or method `member_id'。如何获取 member_id?

【问题讨论】:

  • 您的 Ruby 代码中有一个错误,并且在调用 Mailchimp API 之前引发了一个错误。您指的是一个名为 member_id 的变量或方法,并且没有定义。第一步是修复这个错误。

标签: ruby-on-rails mailchimp ruby-on-rails-4.2 gibbon


【解决方案1】:

来自How To Manage Subscribers 帮助页面,在 API v3 中,订阅者 ID 是用户电子邮件地址的小写版本的 MD5 哈希。

所以你会想要使用Digest::MD5.hexdigest(self.email.downcase)

【讨论】:

    猜你喜欢
    • 2015-11-24
    • 2018-10-16
    • 2016-05-26
    • 2016-05-06
    • 2013-09-07
    • 2015-01-22
    • 2019-08-24
    • 2013-02-20
    • 1970-01-01
    相关资源
    最近更新 更多