【问题标题】:Google Apps Script returning a nullGoogle Apps 脚本返回 null
【发布时间】:2020-09-20 22:35:32
【问题描述】:

我有一个从电子表格中提取数据的谷歌应用脚​​本函数。它能够愉快地记录信息,然后我将数据返回给 javascript 函数。但是,当我尝试对信息进行字符串化和提醒时,它会提醒“null”。

不知道哪里出错了!

Javascript 调用 GAS 函数:

google.script.run.withSuccessHandler(getNews).getTheNews();

气体功能:

function getTheNews(){

 var ss = SpreadsheetApp.openByUrl(url);
 var ws = ss.getSheetByName("NewsFeed"); 
  
 
  var theNews = ws.getRange(3, 2, ws.getLastRow()-2, 1).getValues();
  Logger.log(theNews);
  
 return theNews;
 
}

GAS 日志:

接收信息的Javascript函数:

function getNews(theNews){
var mystr = JSON.stringify(theNews);
            alert(mystr);
}

【问题讨论】:

    标签: javascript google-apps-script


    【解决方案1】:

    问题和解决方法:

    不幸的是,在当前阶段,日期对象似乎无法直接从 Google Apps Script 端返回到 Javascript 端。我也可以复制你的情况。我认为这是您的问题的原因。那么作为目前的解决方法,下面的修改如何呢?

    修改后的脚本:

    在此修改中,将日期对象转换为字符串并发送到 Javascript 端。在 Javascript 端,日期字符串被转换为日期对象。

    HTML & Javascript 方面:

    google.script.run.withSuccessHandler(getNews).getTheNews();
    
    function getNews(theNews){
      theNews = theNews.map(r => r.map(c => new Date(c)));  // Added
      var mystr = JSON.stringify(theNews);
      alert(mystr);
    }
    

    Google Apps 脚本方面:

    function getTheNews(){
      var ss = SpreadsheetApp.openByUrl(url);
      var ws = ss.getSheetByName("NewsFeed");
      var theNews = ws.getRange(3, 2, ws.getLastRow()-2, 1).getValues();
      return theNews.map(r => r.map(c => c.toISOString()));  // Modified
    }
    
    • 我认为在这种情况下,也可以使用c.getTime()而不是c.toISOString()

    注意:

    • 例如,如果要检索单元格上的显示值,也可以进行如下修改。在这种情况下,不需要修改Javascript。

      • 来自

          var theNews = ws.getRange(3, 2, ws.getLastRow()-2, 1).getValues();
        
      •   var theNews = ws.getRange(3, 2, ws.getLastRow()-2, 1).getDisplayValues();
        
    • 我还在 Google 问题跟踪器中发现了这个问题。 Ref 但是当我看到状态时,似乎“不会修复(预期行为)”。

    参考资料:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-06-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-15
      相关资源
      最近更新 更多