我正在尝试获取信息(来自电子邮件活动的特定字段),我应该如何在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请求?
答案 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
,因此您必须先拥有它才能提出此请求。也就是说,您可能会觉得将其包含在响应中很有价值,这样您的处理器就不必拥有有关生成响应的请求的信息。