0

Apps Script を使用して 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 は無効であると宣言します。

ガジェットの指定が無効です。URL が正しく、ガジェットにエラーがないことを確認してください。

*.xml ファイル名を使用して提供することは、Google Apps ガジェットの要件の一部ですか?

4

2 に答える 2

0

ContentService を使用して提供されるコンテンツは、提供される入力と同一である必要があります。Web アプリが匿名アクセスを許可するように構成されていることを確認してください。

于 2012-08-14T22:06:27.753 に答える
0

doGet() は、XML (または HTML) を逐語的に返しません。ブラウザに提供される正確なコンテンツと doGet() によって返されるコンテンツには違いがあります。

ですから、あなたの質問に対する答えは、はい、Google ガジェット用の XML ファイルが必要で、Apps Script を使用できないということです。おそらくできることは、Apps Script を使用して XML ファイルを書き出すことです。

于 2012-08-13T16:15:33.347 に答える