我正在使用Gibbon和Exportneneneba API的campaignSubscriberActivity方法从Mailchimp检索订阅者活动。我使用的是Ruby 2.1.2和Gibbon 1.1.3。
我设置了Gibbon::导出
@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支持建议:由于参数格式不正确,我需要用%20对日期中的空间进行编码。然而,当我添加%20时,由于参数为"2014-10-17%2000:00:00",我仍然会得到相同的错误。
我需要更改格式吗?此外,我如何获得发送到Mailchimp的完整URL,以便查看最终值?
初始化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
中的日期匹配为您提供所需的记录。