提出這個要求時:的JavaScript + MailChimp API訂閱
// Subscribe a new account holder to a MailChimp list
function subscribeSomeoneToMailChimpList()
{
var options =
{
"apikey": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"id": "xxxxxx",
"email":
{
"email": "[email protected]"
},
"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截斷服務器響應:{ 「地位」:「錯誤(使用muteHttpExceptions選項來檢查完整響應)(第120行,文件「v2」)
(「100」,「name」:「ValidationError」,「error」:「您必須指定apikey值」
線120是調用UrlFetchApp.fetch
的線。
API密鑰是有效的(我已經測試了更簡單的API調用,不包括關聯數組)。當我將API密鑰直接附加到基本URL並將其從options
中刪除時,出現錯誤,表明列表ID無效。當我然後將列表ID直接附加到基本URL並從options
中刪除它時,我收到一個錯誤消息,說明電子郵件地址必須是關聯數組形式。
我的問題是:使用上述格式,如何發送包含關聯數組的請求?
相關的API文檔可以找到here。
在您的客戶端代碼中暴露您的API密鑰的不好主意:( – Maxim
@Maxim,這個代碼在私有Google腳本中使用。這仍然有風險嗎? – barryedmund
我不確定Google如何保護它,但我是客人這一切都取決於你需要多少安全性,在某些情況下,我甚至會在服務器端代碼中加密密碼。 – Maxim