如何使用Mailchimp API v3为GET方法提取BATCH中的特定字段?

时间:2016-06-21 09:02:10

标签: mailchimp mailchimp-api-v3.0

我正在尝试获取信息(来自电子邮件活动的特定字段),我应该如何在Mailchimp api v3中的批量GET请求中执行此操作? 这是我的代码 -

public static NetworkConnector getRetrofit1() {
    if (ZivaURLs.retrofitNetworkHandler1 == null) {
        GsonBuilder gsonBuilder = new GsonBuilder();
        gsonBuilder.registerTypeAdapter(Date.class, new GsonDateDeSerializer());
        Retrofit retrofit = new Retrofit.Builder()
                .baseUrl(ZivaURLs.HOST_1)
                .addConverterFactory(GsonConverterFactory.create(gsonBuilder.create()))
                .build();
        retrofit.client().setReadTimeout(40, TimeUnit.SECONDS);
        retrofit.client().setWriteTimeout(40, TimeUnit.SECONDS);
        retrofit.client().setConnectTimeout(40, TimeUnit.SECONDS);
        ZivaURLs.retrofitNetworkHandler1 = retrofit.create(NetworkConnector1.class);
    }
    return ZivaURLs.retrofitNetworkHandler1;
}

使用上面的代码,整个电子邮件活动被提取出来,我只需要很少的电子邮件活动字段,例如" email_address"和" campaign_id"。如何使用Mailchimp API v3使用BATCH GET请求?

1 个答案:

答案 0 :(得分:5)

您已经多次在各种评论中为您回答了这个问题,但是为了其他可能会在谷歌上找到此问题的人,可以在Getting Started Guide中找到答案。

  

部分回复

     

使用字段参数通过限制哪些来减少数据传输   MailChimp API返回的字段。例如,您可能不需要   资源的完整详细信息,可以改为以逗号分隔   要包含的特定字段列表。

     

参数字段和exclude_fields是互斥的   如果某个字段在您的请求中无效,则会抛出错误。例如,   以下URL使用字段查询字符串参数仅包含   响应中的列表名称和列表ID字段:

     
    

https://usX.api.mailchimp.com/3.0/lists?fields=lists.name,lists.id

  

现在,您可能想知道,"如何向批量请求添加参数?"幸运的是,MailChimp文档就在这里。请参阅How to use Batch Operations guide,它告诉您在操作对象中包含一个名为params的字段。

在上面的示例中,您将执行以下操作:

{
  "operations": [{
      "method": "GET", 
      "path": "/reports/campaign_id/email-activity",
      "params": {
        "fields": "campaign_id,emails.email_address"
      },
      "operation_id" : "123"
  }]
}

注意:您说您想要检索campaign_id字段。请注意"路径"请求的一部分已经需要包含campaign_id,因此您必须先拥有它才能提出此请求。也就是说,您可能会觉得将其包含在响应中很有价值,这样您的处理器就不必拥有有关生成响应的请求的信息。