Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google apps script 谷歌脚本-从URL获取文件名_Google Apps Script_Google Sheets - Fatal编程技术网

Google apps script 谷歌脚本-从URL获取文件名

Google apps script 谷歌脚本-从URL获取文件名,google-apps-script,google-sheets,Google Apps Script,Google Sheets,我有一些重定向和下载csv文件的URL。我想获取文件的文件名。无论如何,这是可能的 这是我目前使用的代码: function importCSVFromWeb(csvUrl,rownum,sheet) { var csvContent = UrlFetchApp.fetch(csvUrl).getContentText(); var csvData = Utilities.parseCsv(csvContent); var csvFileName =UrlFetchApp.fetch(c

我有一些重定向和下载csv文件的URL。我想获取文件的文件名。无论如何,这是可能的

这是我目前使用的代码:

function importCSVFromWeb(csvUrl,rownum,sheet) {
  var csvContent = UrlFetchApp.fetch(csvUrl).getContentText();
  var csvData = Utilities.parseCsv(csvContent);
var csvFileName =UrlFetchApp.fetch(csvUrl).getBlob().getName();
  //Logger.log(csvFileName);
  sheet.getRange(rownum, 1, csvData.length, csvData[0].length).setValues(csvData);
sheet.getRange(rownum, csvData[0].length, 1, 1).setValue(csvFileName);
sheet.getRange(rownum, csvData[0].length, 1, 1).copyTo(sheet.getRange(rownum+1, csvData[0].length,csvData.length,1));
sheet.deleteRow(rownum);
}
请帮忙

下面是下载csv的示例URL


在您的情况下,您可以直接从
UrlFetchApp.fetch(csvUrl)
的响应头的“内容处置”中检索文件名。值为
“内容处置”:“附件;filename=“20200213-bunbury-r02.csv”,

那么下面的修改呢?请把这看作是几个可能的答案之一

修改脚本: 修改脚本时,请按以下方式修改

发件人: 致:
  • 您还可以使用
    var csvFileName=res.getHeaders()[“内容处置”].split(“=”[1]。replace(/“/g)”;
结果: 在
https://www.punters.com.au/form-guide/spreadsheet-987656
csvFileName
20200213-bunbury-r02.csv

参考:

如果我误解了你的问题,而这不是你想要的方向,我很抱歉。

非常感谢。效果很好。我无法感谢你enough@Joe亚伯拉罕:谢谢你的回复。我很高兴你的问题得到了解决。
var csvContent = UrlFetchApp.fetch(csvUrl).getContentText();
var csvData = Utilities.parseCsv(csvContent);
var csvFileName =UrlFetchApp.fetch(csvUrl).getBlob().getName();
var res = UrlFetchApp.fetch(csvUrl);
var csvContent = res.getContentText();
var csvData = Utilities.parseCsv(csvContent);
var csvFileName = res.getHeaders()["Content-Disposition"].match(/filename="(\w.+)"/)[1];