2014-01-31 159 views
1

我正在製作一個AdWords腳本(它使用javascript)並給我出現此錯誤:"Invalid assignment left-hand side. (line 1)"。我找不到錯誤。請幫忙?由於左側的賦值無效。 (第1行)

function main() { 
    var todayDate = getDateString(new Date(),'H'); 
    Logger.log('Son las '+todayDate+' horas'); 
    if (todayDate = 11) { 
     var spreadsheet = SpreadsheetApp.create("CPC Log "+getDateString(new Date(), 'dd-MM-yy')); 
     var sheet = spreadsheet.getActiveSheet(); 
     var report = AdWordsApp.report("SELECT CampaignName, AdGroupName, KeywordMaxCpc FROM ADGROUP_PERFORMANCE_REPORT DURING TODAY"); 
     report.exportToSheet(sheet); 
     var expectedRatio = 30; 
     var CpcMultiplier = 1.2; 
     CPCmodifier(expectedRatio,sheet,CpcMultiplier); 
    } 
} 

我想補充的完整代碼,如果有人需要看一看吧:

function main() { 
    var todayDate = getDateString(new Date(), 'H'); 
    Logger.log('Son las ' + todayDate + ' horas'); 
    if (todayDate == 11) { 
     var spreadsheet = SpreadsheetApp.create("CPC Log " + getDateString(new Date(), 'dd-MM-yy')); 
     var sheet = spreadsheet.getActiveSheet(); 
     var report = AdWordsApp.report("SELECT CampaignName, AdGroupName, KeywordMaxCpc FROM ADGROUP_PERFORMANCE_REPORT DURING TODAY"); 
     report.exportToSheet(sheet); 
     var expectedRatio = 30; 
     var CpcMultiplier = 1.2; 
     CPCmodifier(expectedRatio, sheet, CpcMultiplier); 
    } 
} 

function getDateString(date, format) { 
    return Utilities.formatDate(new Date(date), AdWordsApp.currentAccount().getTimeZone(), format); 
} 

function CPCmodifier(ratio, sheet, CpcMultiplier) { 
    var CampaignIterator = AdWordsApp.campaigns().withCondition("Status = PAUSED").get(); 
    while (CampaignIterator.hasNext()) { 
     var campaign = CampaignIterator.next(); 
     var campaignName = campaign.getName(); 
     var campaignBudget = campaign.getBudget(); 
     var campaignSpent = campaign.getStatsFor("TODAY").getCost(); 
     var campaignSpentRatio = (campaignSpent/campaignBudget) * 100; 
     Logger.log("La campaña " + campaignName + " lleva gastados $" + campaignSpent + " sobre un presupuesto de $" + campaignBudget + ". Esto representa el " + campaignSpentRatio + "%."); 
     if (campaignSpentRatio < ratio) { 
      var adGroupIterator = AdWordsApp.adGroups().withCondition("Status = ENABLED").withCondition("CampaignName = '" + campaignName + "'").get(); 
      while (adGroupIterator.hasNext()) { 
       var adGroup = adGroupIterator.next(); 
       var adGroupName = adGroup.getName(); 
       for (var row = 2; row > 1; row++) { 
        var cName = sheet.getRange("A" + row).getValue(); 
        var agName = sheet.getRange("B" + row).getValue(); 
        if (cName == '') break; 
        if (cName == campaignName && agName = adGroupName) { 
         var agMaxCpc = sheet.getRange("C" + row).getValue(); 
         if (agMaxCpc == '--') { 
          Logger.log("El grupo de anuncios " + adGroupName + "(campaña " + campaignName + ") no tiene CPC definido. No se aplicarán modificaciones."); 
          break; 
         } else { 
          var agNewCpc = agMaxCpc * CpcMultiplier; 
          Logger.log("El CPC Máximo predeterminado del grupo de anuncios " + adGroupName + "(campaña " + campaignName + ") es de " + agMaxCpc + ". Cambiándolo a " + agNewCpc); 
          break; 
         } 
        } 
       } 
       adGroup.setKeywordMaxCpc(agNewCpc); 
      } 
     } 
    } 
} 

解決:

我發現這一點:

if (cName == campaignName && agName **=** adGroupName) { 

,它應該是:

if (cName == campaignName && agName == adGroupName) { 
+2

'如果(todayDate = 11)':這是分配;使用'=='(或'===')進行比較。 – iamnotmaynard

+0

這是你唯一的錯誤嗎?這是完整的代碼嗎? – iamnotmaynard

+1

是否有另一個在此之前導入的腳本? – Pointy

回答

2

錯字:

替換:

if (todayDate = 11) { // That's an assignment 

隨着:

if (todayDate == 11) { // That's an "equals" operator 
+1

我同意這是一個嚴重的問題,但我不認爲這會導致他/她得到的錯誤。 – Pointy

+0

嗨!我做了這個替換,但錯誤不會消失 –

+0

@ user1475216:你是否發佈了所有相關的代碼?您提供的其他代碼不應引起問題。 – Cerbrus

相關問題