我正在使用Gibbon和Export API的campaignSubscriberActivity方法从Mailchimp检索订阅者活动。我使用的是Ruby 2.1.2和Gibbon 1.1.3。
我设置了Gibbon :: Export
@gibbon_export = Gibbon::Export.new(@api_key)
然后有一个方法循环遍历一组Mailchimp广告系列ID并检索每个广告系列的活动。
这是以下错误引用的代码。
activities = @gibbon_export.campaignSubscriberActivity({
:apikey => @api_key,
:id => campaign['campaign_id'],
:since => "2014-10-17 00:00:00"
})
这是我得到的错误:
/Users/pierce/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/multi_json-1.10.1/lib/multi_json/adapter.rb:19:in `load': JSON::ParserError (MultiJson::ParseError)
from /Users/pierce/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/multi_json-1.10.1/lib/multi_json.rb:119:in `load'
from /Users/pierce/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/gibbon-1.1.3/lib/gibbon/export.rb:26:in `call'
from /Users/pierce/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/gibbon-1.1.3/lib/gibbon/export.rb:55:in `method_missing'
from mc_get_campaign_subscriber_activity.rb:63:in `block in retrieve_campaign_subscriber_activity_from_mc'
Mailchimp API支持建议:since参数格式不正确,我需要用%20编码日期中的空格。但是,当我添加%20所以:since参数是“2014-10-17%2000:00:00”我仍然得到相同的错误。
我需要进行任何格式更改吗?另外,如何获取发送给Mailchimp的完整URL,以便查看最终值?
答案 0 :(得分:2)
初始化gem:
m = Mailchimp::API.new(api_key_here)
首先,您需要自己的广告系列ID,如果没有,则可以运行:
m.lists.list
会为您提供所有广告系列,并且您可以相应地获取您的ID。
循环播放您的广告系列并使用:
m.lists.activity('campaign_id').select { |i| i["day"] == "2014-09-30" }
这将根据YYYY-MM-DD
中的日期匹配为您提供所需的记录。