После обсуждения с «azawaza» (спасибо за все советы), я, наконец, решил это, поэтому я отправляю разрешение, если другие попадают в это.
Похоже конструкта
https://googledrive.com/host/{public_folder_id}/myfile.htm
в UrlFetchApp.fetch (URL, правда) не может быть больше не используется. Это дает ошибку 404.
я получал его от следующей конструкции (для простоты, предполагая, что есть только одна родительская папка моей таблицы):
...
var myId = DocsList.getFileById(SpreadsheetApp.getActive().getId());
var folderId = myId.getParents()[0].getId();
var url = "https://googledrive.com/host/" + folderId + "/myfile.htm";
// url looks like: https://googledrive.com/host/0B1m....JtZzQ/myfile.htm"
var httpResp = UrlFetchApp.fetch(url,true); //throws 404 !!!
// now, parse 'httpResp'
Решение, которое работало для меня, чтобы найти файл непосредственно с помощью этой конструкции (опять же, при условии, есть только один файл данного имени):
var htmlCont = DocsList.find("myfile.htm")[0].getContentAsString();
// now, parse htmlCont
Я не знаю, почему «старое» решение больше не работает. Как я уже говорил, он работал целый год.
UPDATE (май 2015)
«DocsList» устарела, новая конструкция:
var files = DriveApp.getFilesByName(myURL);
if (files.hasNext()) {
var htmlCont = files.next().getBlob().getDataAsString()
}
должен быть использован вместо
Интересно, если ваш сценарий остановки рабочего должен сделать с принудительной миграцией старого листа (созданного до декабря 2013 года) на новые листы, которые начались сегодня ... – azawaza
На самом деле, я прищурился при написании вопроса, параметр url в выборке был правильным URL-адресом, то есть: https: // googledrive. com/host/0B1m ........ dQ3U4eDFXNjJtZzQ/myfile.htm ", wh ere '0B1m ........ dQ3U4eDFXNjJtZzQ' является {public_folder_id} в вашем ответе, поэтому звонок был в порядке. Он просто прекратил работать сегодня, но это может быть прерывистым (как многие вещи с Диском). Я снова заново запустил его позже и увижу. – seanpj
Несомненно, это временная проблема с Диском. Если проблема сохраняется не ранее чем через пару часов, это может быть что-то другое - попробуйте сохранить новую версию своего сценария и повторно разверните ее в качестве приложения (если это веб-приложение).Если это скрипт, связанный с листом, попробуйте создать новую электронную таблицу и скопируйте ее на нее, чтобы увидеть, работает ли она тогда. – azawaza