0

Google Apps for Business 도메인 용 캘린더/Gmail 가젯을 Apps Script를 사용하여 개발하여 모든 이점을 활용하고 싶습니다.Google Apps Script를 사용하여 Google 캘린더/이메일 가젯을 제공하는 방법은 무엇입니까?

여보세요 세계 가젯 예시 복제 : 템플릿 XML doGet() 사용

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

를 : 생성 된 콘텐츠가 잘 설치하는 예 가젯 동일 봉사

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 가젯을 제공해야한다는 요구 사항 중 일부입니까?

답변

0

doGet()은 XML (또는 HTML) 그대로를 반환하지 않습니다. 브라우저에 제공된 정확한 내용과 doGet()이 반환 한 내용에는 차이가 있습니다.

질문에 대한 답변은 다음과 같습니다. 예, Google 가젯 용 XML 파일이 있어야하며 Apps Script를 사용할 수 없습니다. 여러분이 할 수있는 일은 Apps Script를 사용하여 XML 파일을 작성하는 것입니다.

+0

감사합니다. 파일을 쓰는 것은 생각이다. 내 마음을 교차 시키지도 않았다. (doh) – Jonathon

0

ContentService를 사용하여 제공된 콘텐츠는 제공된 입력과 동일해야합니다. 웹 응용 프로그램이 익명 액세스를 허용하도록 구성되어 있는지 확인하십시오.

+0

나는 당신이 어떤 점을 만들고 있는지 이해하지 못한다고 생각한다. 해야 할 일, "잘해야한다"또는 "반드시 확인해야합니까?" – Jonathon

+0

ContentService가 XML을 올바르게 전달해야합니다. ContentService가 컨텐츠를 변형시키는 경우는 알려진 바 없습니다. URL에 가젯 서버에 액세스 할 수 없거나 서버가 ContentService에서 사용하는 리디렉션을 처리 할 수 ​​없다는 것이 내 의구심입니다. –

+0

알겠습니다. 요점을 이해합니다. 따라서 Google 캘린더가 Apps Script 구성 요소보다 가젯을 다루는 방법에 문제가 있다고 생각합니다. – Jonathon