在括号中doGet()缺少')'

时间:2016-09-16 19:38:11

标签: html google-apps-script

[16-09-16 14:10:03:391 CDT] Starting execution
[16-09-16 14:10:03:398 CDT] HtmlService.createTemplateFromFile([Index]) [0.001 seconds]
[16-09-16 14:10:03:399 CDT] Function.apply([[]]) [0 seconds]
[16-09-16 14:10:03:401 CDT] Execution failed: SyntaxError: Missing ) in parenthetical. (line 2, file "Code") [0.004 seconds total runtime]

这是执行记录。我有一些其他谷歌网站运行类似的脚本没有问题。事实上,大多数Code.gs是相同的,只是被调用的数据有细微差别。我的问题似乎出现在这个特定应用程序脚本项目的doGet函数中。

基本上我正在谷歌网站内为我的公司构建一个内部网,他们希望在电子表格中保留大量内容,以便我从这些数据构建网页。 Code.gs ~~~~

function doGet() {
   return HtmlService
      .createTemplateFromFile('Index')
      .evaluate();
}

function include(filename) {
   return HtmlService.createHtmlOutputFromFile(filename)
      .getContent();
}

function getMisc(){
   return SpreadsheetApp
      .openById('1sORbt2nn3a5-NV_aR3CmmGCwYac-9ASmNrRySmOlBC4')
      .getSheetByName("MiscSuppliers")
      .getDataRange()
      .getValues();
} 

的index.html ~~~~

<!DOCTYPE html>
<html>
  <head>
     <base target="_top">
     <style>
        <?!= include('StyleSheet'); ?>
     </style>
  </head>
  <body>

     <table class="table2">
        <? var info = getInfo() ?>
        <? var files = getInfo() ?>
        <? var login = getInfo() ?>
        <tr>
           <td>
               <? for (var i = 0; i < info.length; i++) { ?> 
               <?= info[i][0] ?>
               <? } ?>
           </td>
           <td>
               <?= files[0][0] ?>
           </td>
           <td>
               <? for (var i = 0; i < login.length; i++) ?>
               <?= login[i][0] ?>
      <? } ?>
    </td>
  </tr>
</table>  

我所有代码的doGets都是相同的。任何分支原因这个不起作用?抱歉编辑不好或问题不好。

1 个答案:

答案 0 :(得分:0)

Index.html 文件中,您错过了此行的左括号:

<? for (var i = 0; i < login.length; i++) ?>

应该是:

<? for (var i = 0; i < login.length; i++) { ?>