如何使用Google Apps脚本来投放Google日历/电子邮件小工具?

时间:2012-08-13 13:53:40

标签: gmail google-apps-script google-calendar-api google-apps google-gadget

我希望使用Apps脚本为我们的Google Apps for Business域开发日历/ gmail小工具,以充分利用它提供的所有好处。

复制Hello World小工具示例时:

<?xml version="1.0" encoding="UTF-8" ?> 
<Module>
  <ModulePrefs title="hello world example" /> 
  <Content type="html">
    <![CDATA[ 
      Hello, world!
    ]]>
  </Content> 
</Module>

使用模板XML doGet()

function doGet(e) {
  var output = ContentService.createTextOutput();
  var xml = '<?xml version="1.0" encoding="UTF-8" ?>\n<Module>\n<ModulePrefs title="Calendar Gadget" />\n<Content type="html"><![CDATA[\nHello, world!\n]]></Content>\n</Module>';
  output.setContent(xml);
  output.setMimeType(ContentService.MimeType.XML);
  return output;
}

生成的服务内容与安装正常的示例小工具相同,但是从GAS提供,它不被视为有效。日历忽略它,GMail声明它无效。

  

小工具规范无效。确保网址正确且小工具不包含错误。

是否需要使用* .xml文件名来提供Google Apps小工具?

2 个答案:

答案 0 :(得分:0)

doGet()不会逐字返回XML(或HTML)。提供给浏览器的确切内容与doGet()返回的内容存在差异。

因此,您的问题的答案是 - 是的,您需要拥有Google小工具的XML文件,并且无法使用Apps脚本。您可以做的是使用Apps脚本来写出XML文件。

答案 1 :(得分:0)

使用ContentService提供的内容应与提供的输入相同。请确保将Web应用程序配置为允许匿名访问。