, начиная с версии 7.1.2, вы можете запустить pip uninstall -y & lt; python package & gt;
Теперь, когда мы знаем, что это текстовый / простой документ, мы можем добавить хороший метод для его обработки. Как сказал Серж, в этом посту метод, который вы используете, действителен только для файлов «google document», поэтому перед его использованием вы должны проверить, что это файл документа google. Мы собираемся сделать то же самое, но с текстовыми / открытыми документами:
function testGetFile(){
getFile("testGetFile", "WhoAmI");
}
function getFile(calledFrom, targetFile){
var root = DriveApp.getRootFolder();
var files=root.getFiles();
/*
instead of a root getFiles() I prefer to use searchFiles
I'ts less work for your script.
the documentation on search: https://developers.google.com/drive/web/search-parameters
*/
files = root.searchFiles("title = 'WhoAmI' and mimeType = 'text/plain'"); // if it's a txt doc it should have .txt at the end of it's title: "WhoAmI.txt"
var numFiles=0;
while (files.hasNext()) {
var file = files.next();
numFiles++;
var filename = file.getName();
var mime = file.getMimeType();
Logger.log(mime); // produce a lot of output
if (filename == targetFile && mime=="application/vnd.google-apps.document") {
Logger.log("Success. Found GOOGLE DOC file: " + filename);
Logger.log(' Number of files processed = '+numFiles+'\n\n');
var fileId = file.getId();
var doc = DocumentApp.openById(fileId); // this won't fail anymore (I hope)
var body=doc.getBody();
var text=body.getText();
Logger.log('text = '+text);// there it is
return text;
}
else if(filename == targetFile && mime=="text/plain") {
Logger.log("Success. Found TXT file: " + filename);
Logger.log(' Number of files processed = '+numFiles+'\n\n');
var text = file.getBlob().getDataAsString();
Logger.log('text = '+text);// there it is
return text;
}
} // while()
return -1;
}
Как упоминалось в комментариях, методы, которые вы используете, когда условие истинно, применимы только к документам Google и будут терпеть неудачу, если вы попытаетесь использовать их в других типах файлов.
Чтобы это просто не добавить второе условие в вашем коде:
if (filename == targetFile && file.getMimeType()=="application/vnd.google-apps.document") {
с вышеуказанной модификацией вы больше не получите ошибок, но есть вероятность, что вы не сможете открыть цель, которую вы пытались, потому что она не была правильный тип mime.