使用api密钥的Mailchimp Google表格问题

时间:2016-05-26 20:16:10

标签: javascript google-api google-sheets-api

所有变量都返回正确的值,但urlfetch响应返回403或401(拒绝访问)。

enter image description here

第一个日志输出:

 var payload = {
    "apikey": API_KEY,
    "filters": {
        "sendtime_start": REPORT_START_DATE,
        "sendtime_end": REPORT_END_DATE
    }
};
Logger.log(payload );

第二次日志输出:

var params = {
    "method": "POST", //what MC specifies
    "muteHttpExceptions": true,
    "payload": payload,
    "limit": 100
};
Logger.log(params);

第三个日志输出:

var apiCall = function(endpoint) {

    //issue with syntax here?

    var apiResponse = UrlFetchApp.fetch(automationsList, params);
    var json = JSON.parse(apiResponse);
    Logger.log(apiResponse);
    return json;
};

自动化API调用不起作用:

var automations = apiCall(automationsList);
var automationsData = automations.data;

for (var i = 0; i < automationsData.length; i++) {


    // are these response parameters? are these specific values getting pulled from MC - these are the type of values i want?
    var a = automationsData[i];
    var aid = a.id; // identifies unique campaign *** does this have anything to do with the call function above - it used to be as cid b/c this was for campaigns before??
    var emails_sent = a.emails_sent;
    var recipients = a.recipients;
    var report_summary = a.report_summary;
    var settings = a.settings;

    if (send_time) {

        var r = apiCall(reports, cid); // why does this have cid? but the other one didn't??
        var emails_sent = r.emails_sent;
        var opens = r.opens;
        var unique_opens = r.unique_opens;
        var clicks = r.clicks;
        var unique_clicks = r.unique_clicks;
        var open_rate = (unique_opens / emails_sent).toFixed(4);
        var click_rate = (unique_clicks / emails_sent).toFixed(4);

    }

for循环甚至没有执行,因为我遇到了automationsData的错误:

  

TypeError:无法从undefined中读取属性“data”。 (第82行,文件“代码”)

apiResponse在某种程度上不起作用,任何帮助都表示赞赏。

2 个答案:

答案 0 :(得分:1)

问题在于如何在开发人员控制台中设置项目。请尝试再次执行流程here,以验证您是否已按正确方式执行此操作。

您也可以在此SO question中查看解决方案,他/她在此解释,为什么他/她会得到相同的401和403错误。

答案 1 :(得分:0)

事实证明,我使用v3.0作为Mailchimp api,而我需要使用2.0。