Google Apps脚本在doGet函数中返回图片

时间:2016-08-08 19:22:52

标签: google-apps-script

我无法弄清楚如何在Google Apps脚本中返回图片。我也经历了很多文档,但我找不到任何明确的内容。

在PHP中,等效函数是:

header('Content-Type: image/gif');
echo "\x47\x49\x46\x38\x37\x61\x1\x0\x1\x0\x80\x0\x0\xfc\x6a\x6c\x0\x0\x0\x2c\x0\x0\x0\x0\x1\x0\x1\x0\x0\x2\x2\x44\x1\x0\x3b";

我尝试了以下功能:

function doGet() {
  return ContentService.createTextOutput("\x47\x49\x46\x38\x37\x61\x1\x0\x1\x0\x80\x0\x0\xfc\x6a\x6c\x0\x0\x0\x2c\x0\x0\x0\x0\x1\x0\x1\x0\x0\x2\x2\x44\x1\x0\x3b");
}
}

但它似乎不起作用。我基本上想要返回1x1像素图像。

1 个答案:

答案 0 :(得分:1)

Google Apps脚本ContentService仅支持返回纯文本,ATOM,CSV,iCal,JavaScript,JSON,RSS,vCard和XML内容。

这取决于您的用户案例,但您可以使用HtmlService和数据URI方案来嵌入图片:

<强> GS

function doGet(e) {
  template = HtmlService.createTemplateFromFile('html');
  return template.evaluate().setSandboxMode(HtmlService.SandboxMode.IFRAME);
}

<强> HTML:

<!DOCTYPE html>
<html>
  <head>
    <base target="_top">
  </head>
  <body>
    <img src="data:image/gif;base64,R0lGODlhAQABAIAAAAUEBAAAACwAAAAAAQABAAACAkQBADs=">
  </body>
</html>

您还可以使用HTML5和Canvas:

<canvas id="myCanvas" width="1" height="1"></canvas>

或JavaScript来创建一个gif