Chr*_*ica 6 web-applications google-apps-script
我正在尝试使用 Google Apps 脚本制作一个 Web 应用程序,该应用程序实际上返回一个图像文件而不仅仅是文本。我试过就这么简单:
function doGet() {
var file = DriveApp.getFileById('[redacted]');
return file;
}
Run Code Online (Sandbox Code Playgroud)
将其发布为 Web 应用程序并执行时,它只是说
脚本完成但没有返回任何内容。
我知道该文件存在并且可以访问,因为我可以打印它的 MIME 类型,这是一个正确的image/png. 所以我在这里遗漏了一些明显的东西,但并不是特别精通 Google Apps 脚本,更不用说任何类型的网络开发了,我不知道我遗漏了什么,正在寻找有关返回图像的介绍性材料来自 Google Apps Script 也不是特别有成效,尤其是当我完全不确定从哪里开始时。
甚至可以通过 Google Apps 脚本从网络应用程序返回图像文件吗?
doGet()是保留的函数名称。该函数名称保留用于侦听对 Web 应用程序的已发布 URL 发出的 GET 请求。对 Web App 的已发布 URL 发出的 GET 请求就是“事件”,该doGet()函数由该事件触发。
该doGet()函数可以返回两种不同类型的输出。
最常见的用途doGet()是将 HTML 内容返回到浏览器。但是使用HtmlService返回文件内容是行不通的。
doGet()还可以与“内容服务”配合使用,返回多种形式的文本内容。
文本内容可以以纯文本形式返回,也可以在返回之前设置文本内容的MIME Type。MIME 类型可以是:
但没有 MIME 类型设置来返回文件类型。
如果文件可以转换为文本内容,返回,然后在浏览器中格式化,那么这是可能的。如果要返回图像文件之类的内容,则需要将图像转换为 Blob,然后将 Blob 作为字符串获取,然后返回该字符串。