Javascript + MailChimp API订阅

bar*_*und 10 javascript api mailchimp

提出此请求时:

// 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());
}
Run Code Online (Sandbox Code Playgroud)

返回此响应:

请求失败,https://us4.api.mailchimp.com/2.0/lists/subscribe.json返回代码500.截断的服务器响应:{"status":"error","code": - 100,"name": "ValidationError","error":"您必须指定apikey值"}(使用muteHttpExceptions选项检查完整响应)(第120行,文件"v2")

第120行UrlFetchApp.fetch是调用的行.

API密钥有效(我已经使用不包含关联数组的简单API调用进行了测试).当我将API密钥直接附加到基本URL并将其从中删除时options,我收到一条错误消息,指出列表ID无效.然后,当我将列表ID直接附加到基本URL并将其删除时options,我收到一条错误消息,指出该电子邮件地址必须是关联数组形式.

我的问题是:使用上面的格式,如何发送包含关联数组的请求?

相关的API文档可以在这里找到.

bar*_*und 19

经过进一步的研究和修补,我能够解决这个问题:

https://<dc>.api.mailchimp.com/2.0/lists/subscribe.json?apikey=<my_api_key>&id=<my_list_id>&email[email]=test@test.com&merge_vars[FNAME]=John&merge_vars[LNAME]=Doe&double_optin=false&send_welcome=false
Run Code Online (Sandbox Code Playgroud)

<dc>应与你的API密钥破折号后的部分进行更换.例如, " US1 ", " US2 ", " UK1 ",等等.


小智 6

在javascript中执行此操作会向全世界公开您的API密钥.如果有人拥有您的密钥,他/她可以更改或访问您的帐户.

  • 什么是Google脚本? (7认同)