将 mailchimp api 与长臂猿一起使用时,“campaign_id”不是符号错误

Posted

技术标签:

【中文标题】将 mailchimp api 与长臂猿一起使用时,“campaign_id”不是符号错误【英文标题】:"campaing_id" is not a symbol error when using mail chimp api with gibbon 【发布时间】:2015-03-09 13:22:00 【问题描述】:

上下文: 我有一个 Rails 应用程序。我有一个表格,用户可以在其中输入他们的电子邮件列表作为新闻信函的一部分。 我正在使用邮件黑猩猩和长臂猿宝石作为导轨。 我可以使用长臂猿 api 成功地将新订阅者添加到列表中 我可以成功创建一个新的广告系列,如下面的代码所示。 在我的宝石文件中: 宝石'长臂猿',git:'git://github.com/amro/gibbon.git' 为了测试功能,我调用 CampaignsController 中的创建操作(代码如下)。 活动已成功创建,我从 api 中获取了结果,但在下一步中,应用程序崩溃并显示以下错误消息:

问题: CampaignsController#create 中的类型错误 ["xyz"] 不是符号,其中 xyz 是新创建的活动的活动 ID。

代码: 在 CampaignsController 中

def create
    mailchimp = Gibbon::API.new(Rails.application.secrets.mailchimp_api_key)
    new_campaign = mailchimp.campaigns.create(:type=>"plaintext",
      :options=>
          :list_id=>"abcdefgh",
          :subject=>"Hello World",:from_email => "xyz@gmail.com",
          :from_name => "abc",:to_name =>"Programmer",  

          :content => 
          :text => "Hello remote programmers I hope you find this mail."        
      )

    cid = new_campaign["id"]
    mailchimp.campaigns.send(cid)
 end

【问题讨论】:

【参考方案1】:

看起来mailchimp.campaigns.send 正在寻找选项的哈希值,而不仅仅是一个 id。

来自他们的specs:

expect(@gibbon.campaigns.send("cid" => "1234567")).to eq("cid" => "1234567")

【讨论】:

哇!万分感谢 !修复了问题。 这种发送方法可以发送合并变量吗?

以上是关于将 mailchimp api 与长臂猿一起使用时,“campaign_id”不是符号错误的主要内容,如果未能解决你的问题,请参考以下文章

我如何在不使用 Rails Gem 的情况下直接使用 Mailchimp API

使用 Gibbon gem 将地址添加到 mailchimp

将 MailChimp 与 SendGrid 一起使用

长臂猿更新电子邮件

rails - Gibbon mailchimp gem 将订阅者添加到列表中,但不发送确认电子邮件

将自己的自定义表单与 MailChimp 一起使用 [关闭]