Я хочу создать Google Sheet в указанной папке c на Google Диске с помощью Google Apps Script. В соответствии с документацией класса File
:
createFile (name, content, mimeType)
Создает файл в текущей папке с заданным имя, содержимое и тип MIME. Выдает исключение, если содержимое превышает 10 МБ.
// Create an HTML file with the content "Hello, world!"
DriveApp.getRootFolder().createFile('New HTML File', '<b>Hello, world!</b>', MimeType.HTML);
И в соответствии с MimeType
документацией :
Enum MimeType
Перечисление, обеспечивающее доступ к объявлениям MIME-типа без явного ввода строк. Методы, которые ожидают, что тип MIME будет отображаться в виде строки (например, 'image / png'), также принимают любое из значений, указанных ниже, при условии, что метод поддерживает базовый тип MIME.
Существует нет упоминания о createFile
, поддерживающем только подмножество доступных типов MIME. На странице есть таблица, которая включает этот тип MIME:
GOOGLE_SHEETS Enum Representation of MIME type for a Google Sheets file.
Моя проблема заключается в реализации этого метода создания файла, как описано в File
документация.
var folder = DriveApp.createFolder('new folder');
var ss = folder.createFile('new sheet', '', MimeType.GOOGLE_SHEETS);
Это приведет к ошибке, в которой будет указано
Недопустимый аргумент: file.contentType (строка 2, файл "Код")
Замена MimeType.GOOGLE_SHEETS
на строку application/vnd.google-apps.spreadsheet
явно не помогла. Мне известен этот вопрос , но принятый ответ просто допускает поражение и использует общий грязный обходной путь, создав файл в SpreadsheetApp
, скопировав его и удалив оригинал. Этот вопрос имеет столь же разочаровывающий принятый ответ на ту же проблему, за исключением Google Docs. Обходной путь SpreadsheetApp
хорош, но я надеюсь, что через 3 года кто-то ответит, как правильно использовать createFile
.