0

ユーザーにメールを送信するときに使用したい単純なドキュメント/テンプレートがあります。テキスト バージョンでは問題なく動作しますが、ドキュメントを HTML 形式で送信する方法がわかりません。文書には、太字の書式設定のテキストのみが含まれています。

function sendEmail(emailAddress, attachment){
    var EMAIL_TEMPLATE_ID = "SOME_GOOGLE_DOC_ID";
    var emailTemplate = DocumentApp.openById(EMAIL_TEMPLATE_ID);
    MailApp.sendEmail(emailAddress, "Subject", emailTemplate.getText(), {  
        htmlBody: emailTemplate, <-- THIS does not return correct data  });
}
4

3 に答える 3

3

私が見つけた答えはこれです

function getDocAsHtml(docId){ 
  var url = 'https://docs.google.com/feeds/download/documents/Export?exportFormat=html&format=html&id=';
  return UrlFetchApp.fetch(url+docId).getContentText();
}

かなりうまく機能します

于 2013-07-25T13:39:38.557 に答える
0

Roman Vialard の DriveApp ライブラリを利用すれば、これはかなり簡単です。ライブラリをプロジェクトに追加するには、こちらの手順に従う必要があります。その後、以下のコードを使用できます。

/**
 * get a String containing the contents of the given document as HTML.
 * Uses DriveApp library, key Mi-n8njGmTTPutNPEIaArGOVJ5jnXUK_T.
 *
 * @param {String} docID ID of a Google Document
 *
 * @returns {String} Content of document, rendered in HTML.
 *
 * @see https://sites.google.com/site/scriptsexamples/new-connectors-to-google-services/driveservice
 */
function getDocAsHTML(docID) {
  var doc = DriveApp.getFileById(docID);
  var html = doc.file.content.src;
  var response = UrlFetchApp.fetch(html);
  var template = response.getContentText();

  return template;
}

function sendEmail(emailAddress, attachment){
    var EMAIL_TEMPLATE_ID = 'SOME_GOOGLE_DOC_ID';
    var emailTemplate = getDocAsHTML(EMAIL_TEMPLATE_ID);
    MailApp.sendEmail(emailAddress, "Subject", emailTemplate.getText(), {  
        htmlBody: emailTemplate });
}
于 2013-05-09T16:25:45.113 に答える