function main() {
getAllDataShowing();
}
function getAllDataShowing(){
var finaldate = SerializeData(Campaign);
Logger.log(finaldate);
}
function getAllLabels(lable) {
LableName ='';
while (lable.hasNext()) {
var Lables = lable.next();
LableName = Lables.getName();
}
return LableName;
}
function SerializeData(Campaign){
var GroupData=[];
for(var i=0;i<=(Campaign.length)-1;i++){
var adGroups = AdWordsApp.adGroups()
.withCondition("CampaignName = 'CAMPAIGN_NAME'")
.get();
var camName = Campaign[i].Name;
while(adGroups.hasNext()){
var getGroups = adGroups.next();
var label = getAllLabels(camName);
}
}
return GroupData;
}
我想显示多个标签,即Label1; Label2的;我输出中的Label3。
我已将此脚本运行到我的AdWords帐户中,脚本运行正常,但唯一的问题是我有一些分配了多个标签的广告组,但此脚本只是随机返回一个标签。
答案 0 :(得分:0)
问题在于这个功能:
function getAllLabels(lable) {
LableName ='';
while (lable.hasNext()) {
var Lables = lable.next();
LableName = Lables.getName();
}
return LableName;
}
您在每次迭代时都会对变量LableName
进行过度激励,因此当它返回时,它只包含最后一个标签名称。
也许是这样的事情:
function getAllLabels(lable) {
var allLabels = [];
while (lable.hasNext()) {
var Lables = lable.next();
var labelName = Lables.getName();
allLabels.push(labelName);
}
return allLabels;
}
当然,您必须确保您的调用函数可以处理返回数组而不仅仅是单个字符串。