简单的Google App脚本api调用引起的语法错误

时间:2019-06-29 13:27:36

标签: javascript google-apps-script google-sheets

我在 google sheet应用程序脚本的简单代码行中遇到语法错误,我对应用程序脚本没有经验,但这是任何编程语言都非常简单的语法。请告诉我我是否缺少什么?

我尝试将标头更改为'header'或“ header”,但是语法错误无法识别格式

function loadInformation(){

  //Set up service and check access
  var firebaseService = getFirebaseService();
  if (firebaseService.hasAccess()) {   
    //Set up google sheet and header row
    var ss = SpreadsheetApp.getActiveSpreadsheet();
    var Sheet = ss.getSheetByName("<YOUR SHEETNAME>");
    Sheet.clearContents();
    Sheet.appendRow([<YOUR SHEET HEADERS>]); 

    //Set up reference
    var databaseURL = "https://xxxxxx.firebaseio.com/";
    var ref = "xxxxxx";
    var requestURL = databaseURL+ref+".json";

    //API Call
    var response = UrlFetchApp.fetch(requestURL, {
     headers: {
       Authorization: 'Bearer ' + firebaseService.getAccessToken()
     },
      method: 'get'
    });

    //Parse JSON
    var data = JSON.parse(response.getContentText());

    //Loop through JSON and append row
    for (item in data){   
      var newRow = [item,];
      Sheet.appendRow(newRow);
    } 
   }  
  } else {

    //Show authorization URL to user
    var authorizationUrl = firebaseService.getAuthorizationUrl();
     showDialog(authorizationUrl);
  }
}

错误结果:

  

语法错误。 (第20行,文件“ loadInformation”)关闭

2 个答案:

答案 0 :(得分:1)

您的“其他”不在函数内。删除“ else”之前的“”。

此外,如果这样保留该行,它将引发另一个错误。确保标头实际位于该位置:

    Sheet.appendRow([<YOUR SHEET HEADERS>]); 

像这样:

    Sheet.appendRow(["a", "b", "c"]); 

答案 1 :(得分:1)

就像Mark所说的那样,您的“ else”不在函数内。

如果您对此进行更改

Sheet.appendRow([<YOUR SHEET HEADERS>]);

Sheet.appendRow(["<YOUR SHEET HEADERS>"]); 

语法错误应该消失。