Я уверен, что я сделал что-то глупое, но я не могу понять это.
Работая в Google Apps Script, у меня есть объект примерно такой:
{
"advertiserId":"123456",
"advertiserName":"Name",
"advertiserVariables":{
"U5":{
"reportName":"transaction_date",
"dataType":"STRING"
},
"U6":{
"reportName":"Page_URL",
"dataType":"STRING"
},
"U7":{
"reportName":"Custom_1",
"dataType":"STRING"
},
"U8":{
"reportName":"Custom_2",
"dataType":"STRING"
},
"U9":{
"reportName":"Custom_3",
"dataType":"STRING"
},
"U1":{
"reportName":"pageType",
"dataType":"NUMBER"
},
"U2":{
"reportName":"productName",
"dataType":"STRING"
},
"U3":{
"reportName":"productId",
"dataType":"NUMBER"
},
"U4":{
"reportName":"productCategory",
"dataType":"STRING"
}
},
"audienceSets":{
"4098242":{
"tagName":"Name - Tag",
"audienceSetName":"Visitors",
"audienceGroups":{
"productCategory":{
"variableType":"U4",
"audienceGroupName":"productCategory",
"dataType":"STRING",
"values":["category1","category2"],
"uniqueValues":2,
"active":true,
"recency":30
}
}
}
},
"shortAdvertiserName":"Name"
}
и в функции я хочу перебрать каждый tagId
в audienceSets
:
function buildRemarketingList(parameters) {
initProfileId();
Logger.log(parameters);
for (var tagId in parameters.audienceSets) {
Logger.log(tagId);
Logger.log(parameters.audienceSets[tagId]);
}
}
Первое действие журнала возвращает объект, как и ожидалось, с несколькими объектами в пределах audienceSets
. Регистрация первого значения tag
также работает как ожидалось. Однако затем я получаю undefined
для строки parameters.audienceSets[tagId]
, и второй цикл не работает.
Поскольку значения tagId
генерируются непосредственно из объекта, я не понимаю, как это может пойти не так?