ruby-on-rails - GIBBON::必须在调用之前设置 api_key - Rails

标签 ruby-on-rails mailchimp mailchimp-api-v3.0 gibbon

我使用了一个教程来使用 mailchimp 设置我的应用程序,以便它将新订阅者发送到 mailchimp 列表。如果你顺其自然,一切都会很好。但是当我运行 Rspec 时,我的测试套件的一半是红色的,并出现此错误 Gibbon::GibbonError:You Must set an api_key before make a call。我尝试将 api key 设置为它所说的位置,但它不起作用?为了清楚起见,我将发布一些代码。

长臂猿.rb:

Gibbon::API.api_key = ENV["MAILCHIMP_API_KEY"]
Gibbon::API.timeout = 15
Gibbon::API.throws_exceptions = true

工作

     class SubscribeUserToMailingListJob < ActiveJob::Base
  queue_as :default

  def perform(subscriber)
    gb = Gibbon::API.new(Figaro.env.mailchimp_api_key)
    gb.lists.subscribe({:id => ENV["MAILCHIMP_LIST_ID"], :email => {:email => subscriber.email}, :merge_vars => {:FNAME => subscriber.first_name, :LNAME => subscriber.last_name}, :double_optin => false})
  end
end

型号:

 def subscribe_user_to_mailing_list
   SubscribeUserToMailingListJob.perform_later(self)
 end

错误

 Create a subscriber Subscriber can sign in
  Failure/Error: gb.lists.subscribe({:id => ENV["MAILCHIMP_LIST_ID"],   :email => {:email => subscriber.email}, :merge_vars => {:FNAME =>   subscriber.first_name, :LNAME => subscriber.last_name}, :double_optin =>   false})

Gibbon::GibbonError:
You must set an api_key prior to making a call

我迷失了这个。任何帮助都会很棒!谢谢。

最佳答案

OP,我假设在您的测试中您设置了 MAILCHIMP_API_KEY 环境变量,但 Gibbon 仍然给您错误,就好像您根本没有设置一样?

问题是 Gibbon 希望任何 API key 字符串都按照 Mailchimp 的 API key 进行格式化。因此,如果在测试中您使用字符串 api_key_123,则可以使用 Gibbon::API.api_key = "api_key_123" 设置该字符串,不会出现任何问题,但是当你尝试使用它时,Gibbon 会表现得好像它不存在一样。然而,如果您使用 Mailchimp 格式的 key ,例如 8472f063cf868ab9a49ccbb118c1d5f1-us15,Gibbon 将承认它的存在。

关于ruby-on-rails - GIBBON::必须在调用之前设置 api_key - Rails,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38194081/

相关文章:

ruby-on-rails - Rails 使用不同的布局?

ruby-on-rails - 使用嵌套表单的奇怪方式 (Rails)

ruby-on-rails - 如何在保持双引号的同时连接数组中的元素?

html - 如何返回原始 HTML(使用 Flask)

react-native - 为什么 mailchimp API 不能与 fetch 一起使用?

php - Mailchimp API v3.0 添加待处理成员无需确认电子邮件

对作为输入子字符串的记录的 SQL 查询

forms - 将MailChimp订户添加到具有注册表单而不是API的组中

api - Mailchimp API (v1.3) : addresses added with listSubscribe() don't appear in dashboard

python - 使用 Python 向 mailchimp API 发送 POST 请求