【问题标题】:data query problem with google app script谷歌应用脚​​本的数据查询问题
【发布时间】:2020-12-10 20:58:51
【问题描述】:

从昨天开始,当我对工作表进行查询以提供信息时,我遇到了问题。带来信息的代码如下:

var s_usuario="c123";
var spreadsheetId = 'myid';  // Please set the spreadsheet ID.
var targetSheet = "Usuarios";  // Please set the sheet name.
var usuario =s_usuario.toUpperCase();

var query = 'select B where A = "'+usuario+'"';  // Please set the query for retrieving the values.

var ss = SpreadsheetApp.openById(spreadsheetId);
var sheetId = ss.getSheetByName(targetSheet).getSheetId();
var url = "https://docs.google.com/spreadsheets/d/" + spreadsheetId + "/gviz/tq?gid=" + sheetId + "&tqx=out:csv&tq=" + encodeURIComponent(query);
var res = UrlFetchApp.fetch(url, {headers: {Authorization: "Bearer " + ScriptApp.getOAuthToken()}});
var row = Utilities.parseCsv(res.getContentText());
var maximo=row.length;

  
for (var i = 0; i < maximo; i++) {
  var mostrar =row[i][0].toString();
}

return mostrar

我应该修改什么才能给出查询?我认为语言有更新

【问题讨论】:

  • 完整的错误是什么?
  • 没有任何回报
  • 我希望您意识到您只返回row 中的最后一个条目,代码为:for (var i = 0; i &lt; maximo; i++) { var mostrar =row[i][0].toString(); } return mostrar
  • 我添加了一张我遇到的错误的照片
  • 如果您希望它对本论坛上的大多数志愿者有用,您可能希望通过翻译器运行您的错误消息。

标签: google-apps-script


【解决方案1】:

也许你想要:

var mostrar='';
for (var i=0;i<maximo; i++) {
  mostrar +=row[i][0].toString();
}
return mostrar;

甚至:

var mostrar=row.map(r=>{return r[0];});
return mostrar.join(',');

可能其他一切都还好,因为您从here复制了它

【讨论】:

  • 还有其他的查询方式吗?是它没有返回任何值,我看到代码很好
  • 我不明白。你是说查询res.getContentText() 是空的,因为这不是我的建议。但我当然不知道,因为我不会运行它。我只是说我认为问题出在你的输出例程上。
  • 您如何建议我可以进行查询
  • 我没有任何建议。我只是说问题可能出在for (var i = 0; i &lt; maximo; i++) { var mostrar =row[i][0].toString(); } return mostrar,我建议用我的答案替换它或自己制作一个新版本。
【解决方案2】:

这是与UrlFetchApp 相关的新bug

它似乎已经解决了,所以希望这个问题是暂时的。

【讨论】:

    【解决方案3】:

    我不知道解决方案,但我也可以说,在过去的 2-3 天里,我的脚本也都开始失败,使用 var file = UrlFetchApp.fetch(url);使用这个。我看到您也在使用 UrlFetchApp。我的第一次失败发生在 2020 年 12 月 8 日凌晨 3:53:50

    希望这可以帮助弄清楚发生了什么。这是我遇到的具体错误:

    Exception: Unexpected error: https://...org/..xxxx/..xxx.csv (line 242, file "Code")
    

    我对适合您的解决方案非常感兴趣,也许它也可以帮助我。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-08
      • 1970-01-01
      • 2023-03-24
      • 1970-01-01
      • 2015-12-06
      • 1970-01-01
      相关资源
      最近更新 更多