如何通过 Gibbon Export API 调用为 Mailchimp 传递过滤器
Posted
技术标签:
【中文标题】如何通过 Gibbon Export API 调用为 Mailchimp 传递过滤器【英文标题】:How to pass filters in with Gibbon Export API call for Mailchimp 【发布时间】:2014-12-16 23:16:37 【问题描述】:我正在使用 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,以便查看最终值?
【问题讨论】:
您好 - 我可以看到没有since
字段的活动响应吗?我需要看看 mailchimp 是如何编码他们的时间的。
这是返回的单个活动。 \"action\":\"open\",\"timestamp\":\"2014-07-29 16:51:26\",\"url\":null,\"ip\":\" 0.0.0.0\"
有可能不使用 Gibbon 吗?他们的源代码包括method_missing
,坦率地说,这对于外部 API 来说并不理想。我已经使用 mailchimp 的官方 ruby 包装器接听了您的电话,如果您愿意,我很乐意回答。
@Anthony 我不需要使用 Gibbon。我已将它用于我使用的其余 mailchimp 集成。我很高兴尝试您的解决方案。让它发挥作用更重要。
@Anthony 你有解决方案吗?感谢您的帮助。
【参考方案1】:
初始化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
中的日期匹配为您提供所需的记录。
【讨论】:
我不确定这是否能回答问题,@analyticsPierce 将gibbon
用于 Mailchimp
api,而不是 Mailchimp
ruby api gem。
查看初始帖子@PeteyT下方的cmets。
@Anthony 所以“活动”方法为我提供了该活动的总数。与 Export API 中的campaignSubscriberActivity 不同,后者提供每个订阅者的点击详细信息。此外,这给了我那天的总数,而不是那天以来的所有结果。在接受的时间用完之前,我只有时间做一个快速的概述。我希望你能跟进更多细节。
@analyticsPierce 你看过#member_activity 吗?
@Anthony #member_activity 用于检索单个成员的活动。它与为您提供单个活动的所有活动的活动订阅者活动不同。以上是关于如何通过 Gibbon Export API 调用为 Mailchimp 传递过滤器的主要内容,如果未能解决你的问题,请参考以下文章
为啥 Gibbon Gem 可以访问 API 但不能 listSubscribe()?
Gibbon/Mailchimp API 请求在兴趣分组内创建兴趣
为啥长臂猿会抛出“未初始化的常量 Gibbon::API (NameError)”
使用 MailChimp 3.0 和 Gibbon 2.x 检索 member_id