- Вы знаете URL опубликованной таблицы.URL-адрес, как показано ниже.
- Опубликованная электронная таблица помещается в общую папку вместе с вами.
- Вы знаете идентификатор папки общей папки.URL-адрес, как показано ниже.
- Вы можете получить доступ к общей папке.
Если мое понимание вашей ситуации правильное, как насчет этого обходного пути?
Проблема:
К сожалению, идентификатор файла не может быть непосредственно получен из опубликованного URL-адреса, например https://docs.google.com/spreadsheets/d/e/2PACX-###/pubhtml?gid=0&single=true&widget=true&headers=false
.Я думаю, что это может быть спецификацией.
Обходной путь:
Итак, из вашей ситуации я хотел бы предложить обходной путь.Ход этого обходного пути заключается в следующем.Думайте об этом как об одном из нескольких ответов.
Поток:
- Извлечение данных HTML с URL-адреса
https://docs.google.com/spreadsheets/d/e/2PACX-###/pubhtml?gid=0&single=true&widget=true&headers=false
. - Извлечение имени файла изизвлеченные данные HTML.
- В этом случае
###
из <title>###</title>
- это имя файла электронной таблицы.
- Извлечение файлов из общей папки.
- Извлечениеидентификатор файла из имени файла.
Когда вышеуказанный поток отражается в сценарии, он становится следующим.
Пример сценария:
При использовании этого сценарияустановите URL-адрес опубликованной электронной таблицы и идентификатор папки общей папки.
function myFunction() {
var url = "https://docs.google.com/spreadsheets/d/e/2PACX-###/pubhtml?gid=0&single=true&widget=true&headers=false"; // URL of the published Spreadsheet.
var folderId = "###"; // FolderId of shared folder including the published Spreadsheet.
var res = UrlFetchApp.fetch(url);
var filename = res.getContentText().match(/<title>(.+)<\/title>/)[1];
var files = DriveApp.getFolderById(folderId).getFiles();
while (files.hasNext()) {
var file = files.next();
if (file.getMimeType() == MimeType.GOOGLE_SHEETS && file.getName() == filename) {
Logger.log("filename: %s, fileId: %s", filename, file.getId())
}
}
}
Примечание:
- В этом обходном пути идентификатор файла извлекается из имени файла.Поэтому, когда в общей папке находится несколько файлов с одним и тем же именем, извлекается несколько идентификаторов файлов.В то время, пожалуйста, получите нужный идентификатор файла, сравнив данные каждой электронной таблицы.
Ссылки:
Если я неправильно понял ваш вопрос, и этот обходной путь оказался не тем направлением, которое вам нужно,Я прошу прощения.