【发布时间】:2021-01-25 13:05:03
【问题描述】:
我在尝试从 Google 云端硬盘读取 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);
}
【问题讨论】:
-
你明白google drive api是一个文件存储api。它不适用于读取文件的内容。您的代码似乎也在使用 Google sheet api 而不是 google drive api。
-
您要读取的文件是什么? HTML 文件?
-
是的,它是一个 HTML 文件
-
实际上有一些 google sheet api 代码。那么有没有办法用驱动api读取内容呢?
标签: javascript google-apps-script google-drive-api google-sheets-api