当进行此请求时:
// Subscribe a new account holder to a MailChimp list
function subscribeSomeoneToMailChimpList()
{
var options =
{
"apikey": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"id": "xxxxxx",
"email":
{
"email": "me@example.com"
},
"send_welcome": false
};
var mcSubscribeRequest = UrlFetchApp.fetch("https://us4.api.mailchimp.com/2.0/lists/subscribe.json", options);
var mcListObject = Utilities.jsonParse(mcSubscribeRequest.getContentText());
}
返回的响应如下:
请求失败,因为https://us4.api.mailchimp.com/2.0/lists/subscribe.json返回500代码。服务器截断的响应为:{"status":"error","code":-100,"name":"ValidationError","error":"You must specify a apikey value"}(使用muteHttpExceptions选项查看完整响应)(第120行,文件“v2”)
第120行是调用UrlFetchApp.fetch
的行。
API密钥是有效的(我已经用不包含关联数组的简单API调用进行了测试)。当我直接将API密钥附加到基本URL并从options
中删除它时,会出现错误,说明列表ID无效。然后,当我直接将列表ID附加到基本URL并将其从options
中删除时,会出现错误,说明电子邮件地址必须以关联数组形式提供。
我的问题是:如何按照上述格式发送包含关联数组的请求?
相关API文档可以在此处找到。