首页 > 解决方案 > Google 表格 - Mailchimp API - 创建模板

问题描述

我想做什么:

我正在尝试根据本文档使用 Mailchimp API 创建模板(自定义 HTML) 。

到目前为止我尝试过的:

{instance=2fb8b5eb-f11c-4260-a958-f16e5bc7c98b, detail=提交的资源无法验证。有关特定于字段的详细信息,请参阅“错误”数组。,type= http://developer.mailchimp.com/documentation/mailchimp/guides/error-glossary/,title=Invalid Resource,errors=[{field=,message =Schema 描述对象,发现 NULL 代替}], status=400}

MWE:

    function mailchimpCampaign(){

    // URL and params for the Mailchimp API
    var root = 'https://us19.api.mailchimp.com/3.0/';
    var endpoint = 'templates';

    var data = {
                'name': 'Test Template',
                'html': '<html><head></head><body><p>TEST</p><body></html>'
                };
    var payload = JSON.stringify(data);

    // parameters for url fetch
    var params = {
        'method': 'POST',
        'muteHttpExceptions': true,
        'headers': {
        'Authorization': 'apikey ' + API_KEY,
        'content-type': 'application/json'
        },
        'data': payload
    };

    try {
        // call the Mailchimp API
        var response = UrlFetchApp.fetch(root + endpoint, params);
        var data = response.getContentText();
        var json = JSON.parse(data);

        Logger.log(json);   
    }
    catch (error) {
        // deal with any errors
        Logger.log(error);
    };
    }

任何帮助将不胜感激。谢谢。

标签: google-apps-scriptgoogle-sheetsmailchimpmailchimp-api-v3.0

解决方案


这是给未来的读者的。

因此,当我遇到这个错误时。我尝试使用UrlFetchApp.getRequest()它,它告诉我那payload是空的。

问题是我不得不payload代替data我正在使用的那个。

更新的工作代码:

 var params = {
    'method': 'POST',
    'muteHttpExceptions': true,
    'headers': {
    'Authorization': 'apikey ' + API_KEY,
    'content-type': 'application/json'
    },
    'payload': payload
};

推荐阅读