所有变量都返回正确的值,但urlfetch响应返回403或401(拒绝访问)。
第一个日志输出:
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在某种程度上不起作用,任何帮助都表示赞赏。
答案 0 :(得分:1)
问题在于如何在开发人员控制台中设置项目。请尝试再次执行流程here,以验证您是否已按正确方式执行此操作。
您也可以在此SO question中查看解决方案,他/她在此解释,为什么他/她会得到相同的401和403错误。
答案 1 :(得分:0)
事实证明,我使用v3.0作为Mailchimp api,而我需要使用2.0。