0

我想使用Apps腳本爲我們的Google Apps for Business域開發日曆/ Gmail郵件小工具,以充分利用其提供的所有優勢。如何使用Google Apps腳本提供Google日曆/電子郵件小工具?

當複製的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; 
} 

得到的服務內容是相同的,其安裝精細的例子小工具,但是從天然氣供應它不被認爲是有效的。日曆忽略它並且GMail聲明它無效。

無效的小工具規範。確保URL正確,並且小工具不包含錯誤。

是否需要使用* .xml文件名服務的Google Apps小配件?

回答

0

doGet()不會逐字返回XML(或HTML)。提供給瀏覽器的確切內容與doGet()返回的內容有所不同。

所以,你的問題的答案是 - 是的,你需要有一個用於Google小工具的XML文件,並且不能使用Apps腳本。你可以做的是使用Apps腳本來寫出XML文件。

+0

謝謝。寫文件是一個想法 - 甚至沒有跨過我的想法(doh) – Jonathon 2012-08-13 18:17:02

0

使用ContentService提供的內容應該與提供的輸入相同。請確保Web應用程序已配置爲允許匿名訪問。

+0

我想我不明白你在做什麼。應該如「它應該工作」或「你必須確定」? – Jonathon 2012-08-15 08:51:46

+0

ContentService應該正確傳遞您的XML。沒有已知ContentService轉換您的內容的情況。我懷疑是小工具服務器無法訪問URL,或者服務器無法處理ContentService使用的重定向。 – 2012-08-15 19:53:20

+0

好的,我理解你的觀點,因此我認爲Google Calendar處理Gadgets的方式比Apps腳本組件更多。 – Jonathon 2012-08-17 13:19:50

相關問題