【问题标题】:Visualization.query is not recognising the date from a function Google AppscriptVisualization.query 无法从 Google Apps 脚本函数中识别日期
【发布时间】:2017-05-22 09:53:55
【问题描述】:

目前使用 Visualization API 和 Google App Script 调用

'index.html' 通过 doGet() 函数。

我正在使用可视化来生成一个自定义表,使用可视化.Query() 函数并使用 URIComponent 插入实际查询。

当查询被硬编码时,一切都很好。

日期函数,返回我要查询的日期。

function subtractDaysFromDate(date,d){
// d = number of day ro substract and date = start date
var result = new Date(date.getTime()-d*(24*3600*1000));
var x = String(Utilities.formatDate(result, "GMT", "yyyy-MM-dd"));
return x
}

 function subtractedDateForUrl() {
 var test = String(subtractDaysFromDate(new Date(),5));
 Logger.log(test)     
 }

subtractedDateForUrl() 在 Logger.log(test) 中返回我想要的确切字符串;

[17-05-22 02:26:43:562 PDT] 2017-05-17

然后我调用了subtractDateForUrl() 来获取日期,这样我就可以在查询中添加它。

 var dateString1 = subtractDateForUrl();
 //Works
 var query = encodeURIComponent("SELECT * WHERE A = date '2017-05-17'");
 //Does not work
 var query = encodeURIComponent("SELECT * WHERE A = date '" + dateString1 + "'");

这完全一样,但由于某种原因它不起作用。

我已经尝试了以下方法(这两种方法都不起作用);

 var removeQuotes = dateString1.replace(/\"+/g,"")
 var query = encodeURIComponent("SELECT * WHERE A = date '" + removeQuotes + 
 "'");
  var convertToHtmlOutput = 
 HtmlService.createHtmlOutput(dateString1).getContent()
 var query = encodeURIComponent("SELECT * WHERE A = date '" + convertToHtmlOutput + "'");

【问题讨论】:

    标签: google-apps-script google-visualization google-apps


    【解决方案1】:

    下面的函数没有返回任何东西......

    function subtractedDateForUrl() {
      var test = String(subtractDaysFromDate(new Date(),5));
      Logger.log(test);
    }
    

    因此,在这里,dateString1 将是 undefined

    var dateString1 = subtractDateForUrl();
    

    尝试添加return 语句...

    function subtractedDateForUrl() {
      var test = String(subtractDaysFromDate(new Date(),5));
      Logger.log(test);
      return test;
    }
    

    【讨论】:

    • 我已经添加了返回并测试了 Logger 以确保它正确返回。还是不行。如果函数在变量中(即 var dataString1 = subtractDateForUrl()),似乎整个代码将不起作用。它似乎使用不同的结构化函数工作,但我不能从该特定函数(getNowDate())中减去天数。 link
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-26
    • 1970-01-01
    • 1970-01-01
    • 2020-04-07
    相关资源
    最近更新 更多