目标是从Google云端硬盘获取所有SCRIPT类型的文件; &循环获取其文本内容。
我的代码是:
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()得到的错误是:Converting from application/vnd.google-apps.script to application/pdf is not supported.
我还尝试了file.getUrl()
的FetchURL,但是如果我在与登录时相同的窗口中打开,并且如果以隐身方式打开,则也会提供错误页面HTML,这也只是提供了文件的整个HTML。
是否可以在Google Apps脚本中获取脚本文件的文本内容?
答案 0 :(得分:3)
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
}
}