[英]Google Apps Script: trying to read a text file from Google Drive with .getAs(MimeType.PLAIN_TEXT)
我在尝试从 Google Drive 读取 HTML 文件时遇到了麻烦。 所以
我试过了:
在UrlFetchApp.fetch("https://googledrive.com/host/{folderID}/{filename}.html")
的帮助下获取文本,但它会获取一些 google css 文件而不是我的文件。
使用file.getAs(MimeType.PLAIN_TEXT)
将文件从 blob 转换为文本字符串,它只输出“Blob”而没有任何文件内容。 如何在没有任何特定库的情况下提取文件文本?
var dApp = DriveApp;
var folderIter = dApp.getFoldersByName("Лаборатории ФББ");
var folder = folderIter.next();
var filesIter = dApp.getFilesByName("Labs.html");
var filelist = [];
var propfiledate = 0;
var propfilename;
while(filesIter.hasNext()){
var file = filesIter.next();
var filename = file.getName();
var fileurl = file.getUrl();
var filedate = file.getDateCreated();
if(filedate >= propfiledate){
var propfiledate = filedate;
var propfileurl = fileurl;
var propfilename = filename;
var propfile = file;
}
}
Logger.log(propfile);
// 1st try var myHtmlFile = UrlFetchApp.fetch(propfileurl);
// 2nd try var myHtmlFile = propfile.getAs(MimeType.PLAIN_TEXT);
// 3rd try var myHtmlFile = propfile.getBlob().text();
var ss = SpreadsheetApp.create("test");
SpreadsheetApp.setActiveSpreadsheet(ss);
var sheet = ss.getActiveSheet();
sheet.appendRow(myHtmlFile.toString().split("\n"));
Logger.log(propfiledate);
Logger.log(propfilename);
Logger.log(propfileurl);
}
在虚拟 HTML 文件上使用 Apps 脚本,您可以获得其中的 HTML 数据。
使用 DriveApp getFilesByName(name)方法,您可以按名称检索文件。
这将返回一个FileIterator因为可能有许多具有相似名称的文件。
然后您可以使用getBlob()获取文件 blob,并使用getDataAsString()将 blob 数据作为字符串获取
通过使用前面提到的方法,我设法获得了 dummyHTML.html 文件数据:
function myFunction() {
var files = DriveApp.getFilesByName("dummyHTML.html");
while (files.hasNext()) {
var file = files.next();
Logger.log(file.getBlob().getDataAsString());
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.