В вашем случае вы можете напрямую получить имя файла из «Content-Disposition» заголовков ответа UrlFetchApp.fetch(csvUrl)
. Значение равно 'Content-Disposition': 'attachment; filename="20200213-bunbury-r02.csv"',
.
Так как насчет следующей модификации? Пожалуйста, подумайте об этом как об одном из нескольких возможных ответов.
Модифицированный скрипт:
Когда ваш скрипт модифицирован, пожалуйста, измените его следующим образом.
С:
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];
- Вы также можете использовать
var csvFileName = res.getHeaders()["Content-Disposition"].split("=")[1].replace(/"/g, "");
.
Результат:
В случае https://www.punters.com.au/form-guide/spreadsheet-987656
, csvFileName
равен 20200213-bunbury-r02.csv
.
Ссылка:
Если я неправильно понял ваш вопрос, и это не то направление, которое вы хотите, я приношу свои извинения.