Javascript 如何获取谷歌应用程序脚本的文本内容?
目标是从Google Drive获取所有脚本类型的文件;&在循环中,逐个获取它们的文本内容 我的代码是:Javascript 如何获取谷歌应用程序脚本的文本内容?,javascript,text,google-apps-script,Javascript,Text,Google Apps Script,目标是从Google Drive获取所有脚本类型的文件;&在循环中,逐个获取它们的文本内容 我的代码是: function searchFiles() { //https://developers.google.com/apps-script/reference/base/mime-type var type = MimeType.GOOGLE_APPS_SCRIPT; var files = DriveApp.getFilesByType(type); while (files
function searchFiles() {
//https://developers.google.com/apps-script/reference/base/mime-type
var type = MimeType.GOOGLE_APPS_SCRIPT;
var files = DriveApp.getFilesByType(type);
while (files.hasNext()) {
var file = files.next();
process(file);
}
}
function process(file){
//https://developers.google.com/apps-script/reference/base/mime-type
var txt = file.getBlob(PLAIN_TEXT);
Logger.log(txt);
}
我从file.getBlob()中得到的错误是:不支持从application/vnd.google-apps.script转换为application/pdf。
我还尝试了FetchURL forfile.getUrl()
,但是如果我在登录的同一个窗口中打开文件,也会得到整个文件的HTML&如果以匿名方式打开,则返回错误页面HTML
是否可以在Google Apps脚本中获取脚本文件的文本内容?Flow:
- 通过MIME获取所有脚本文件
- 获取每个文件的id
- URL通过驱动器REST API或应用程序脚本API获取它
- 通过MIME获取所有脚本文件
- 获取每个文件的id
- URL通过驱动器REST API或应用程序脚本API获取它
UrlFetchApp.fetch(“scriptURL”)
和获取html
内容。根据我的尝试,您不可能使用UrlFetchApp.fetch(“scriptURL”)
和获取html
内容。
function getScriptSourceCode(fileid) {
var params = {
headers: { Authorization: 'Bearer ' + ScriptApp.getOAuthToken() },
followRedirects: true,
muteHttpExceptions: true,
};
var url =
'https://script.google.com/feeds/download/export?id=' +
fileid +
'&format=json';
var response = UrlFetchApp.fetch(url, params);
var json = JSON.parse(response);
for (var file in json['files']) {
Logger.log(json['files'][file]['source']); //Source code
}
}