2012-09-19 159 views
0

以下是完整的腳本。setValue(contLength)返回意外值

function check() { 
    var ss = SpreadsheetApp.getActiveSpreadsheet(); 
    var sheet1 = ss.getSheets()[0]; 
    var dataRange = sheet1.getDataRange().getValues(); 
     for (var i = 1; i < dataRange.length; i++) { 
     var stringToDisplay=dataRange[i][0]; 
     var result = UrlFetchApp.fetch(stringToDisplay); 
     var date=result.getHeaders()['Date']; 
     var contType=result.getHeaders()['Content-Type']; 
     var contLength=result.getHeaders()['Content-Length']; 
     for(j=0;j<10;j++) 
     { 
      if(contLength=="undefined") 
      { 
      var contLength=result.getHeaders()['Content-Length']; 
      } 
     } 
     var server=result.getHeaders()['Server']; 
     var exp=result.getHeaders()['Expires']; 
     var resp=result.getResponseCode(); 
     var myDate=new Date();  
     sheet1.getRange(i+1,2).setValue(date); 
     sheet1.getRange(i+1,3).setValue(contLength); 
     sheet1.getRange(i+1,4).setValue(contType); 
     sheet1.getRange(i+1,5).setValue(server); 
     sheet1.getRange(i+1,6).setValue(exp); 
     sheet1.getRange(i+1,7).setValue(resp); 
     sheet1.getRange(i+1,8).setValue(myDate.toString()); 
     } 
} 

我期待這裏的int值 - sheet1.getRange(i + 1,3).setValue(contLength)。相反,它每次執行腳本時都會帶來未定義或int值。

這裏有什麼問題?

感謝, 薩米爾

+1

你的腳本並不是真的'可測試',你能提供一個鏈接到它運行的電子表格嗎? –

+0

@Sergeinsas以下是電子表格的鏈接 - https://docs.google.com/spreadsheet/ccc?key=0Ag_5RR32Q1yAdHVPWXBEUTNkT19hQ2wwOURGb0pTc3c – user1683233

回答

0

雖然嘗試調試您的問題,我已經添加了使用Utilities.sleep(1000)函數來給它一些時間,但它能夠在5伸出的17已經「未定義」 。全部具有「text/html; charset = utf-8」作爲內容類型。可能只有Apache-Servers提供正確的格式(因爲它們會導致一個整數)。接下來你應該看看,看看是不是這個問題。

請參閱我的shared doc